/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/automizer/LoopAccelerationJordanC.epf -i ../../../trunk/examples/svcomp/verifythis/duplets.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 17:59:38,692 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 17:59:38,694 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 17:59:38,744 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 17:59:38,745 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 17:59:38,745 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 17:59:38,747 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 17:59:38,748 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 17:59:38,750 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 17:59:38,750 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 17:59:38,751 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 17:59:38,752 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 17:59:38,753 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 17:59:38,753 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 17:59:38,754 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 17:59:38,755 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 17:59:38,756 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 17:59:38,756 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 17:59:38,758 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 17:59:38,759 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 17:59:38,760 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 17:59:38,764 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 17:59:38,764 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 17:59:38,765 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 17:59:38,766 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 17:59:38,768 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 17:59:38,769 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 17:59:38,769 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 17:59:38,770 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 17:59:38,770 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 17:59:38,771 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 17:59:38,771 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 17:59:38,772 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 17:59:38,772 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 17:59:38,773 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 17:59:38,774 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 17:59:38,774 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 17:59:38,774 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 17:59:38,775 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 17:59:38,782 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 17:59:38,783 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 17:59:38,785 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 17:59:38,786 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-07 17:59:38,796 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 17:59:38,797 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 17:59:38,798 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 17:59:38,798 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 17:59:38,798 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 17:59:38,798 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 17:59:38,798 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 17:59:38,799 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 17:59:38,799 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 17:59:38,800 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 17:59:38,800 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 17:59:38,800 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 17:59:38,800 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 17:59:38,800 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 17:59:38,800 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 17:59:38,801 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 17:59:38,801 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-07 17:59:38,801 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 17:59:38,801 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 17:59:38,801 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 17:59:38,801 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 17:59:38,802 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-07 17:59:38,802 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_JORDAN 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-07 17:59:39,060 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 17:59:39,086 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 17:59:39,088 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 17:59:39,089 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 17:59:39,090 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 17:59:39,091 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/verifythis/duplets.c [2022-04-07 17:59:39,154 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b4391cbcd/e63e3cd984814098af7044fde8cf1164/FLAG915a7cf0b [2022-04-07 17:59:39,568 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 17:59:39,568 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/verifythis/duplets.c [2022-04-07 17:59:39,576 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b4391cbcd/e63e3cd984814098af7044fde8cf1164/FLAG915a7cf0b [2022-04-07 17:59:39,594 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b4391cbcd/e63e3cd984814098af7044fde8cf1164 [2022-04-07 17:59:39,596 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 17:59:39,598 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-07 17:59:39,600 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 17:59:39,601 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 17:59:39,604 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 17:59:39,610 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:39,612 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@57c18544 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39, skipping insertion in model container [2022-04-07 17:59:39,612 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:39,619 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 17:59:39,632 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 17:59:39,813 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/duplets.c[485,498] [2022-04-07 17:59:39,890 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 17:59:39,898 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 17:59:39,915 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/duplets.c[485,498] [2022-04-07 17:59:39,943 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 17:59:39,962 INFO L208 MainTranslator]: Completed translation [2022-04-07 17:59:39,963 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39 WrapperNode [2022-04-07 17:59:39,963 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 17:59:39,965 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 17:59:39,965 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 17:59:39,965 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 17:59:39,975 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:39,975 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:39,991 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:39,992 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:40,005 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:40,012 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:40,015 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:40,017 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 17:59:40,018 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 17:59:40,018 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 17:59:40,018 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 17:59:40,024 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (1/1) ... [2022-04-07 17:59:40,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 17:59:40,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 17:59:40,053 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-07 17:59:40,072 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-07 17:59:40,104 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure mkdup [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure finddup [2022-04-07 17:59:40,105 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 17:59:40,106 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-04-07 17:59:40,106 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2022-04-07 17:59:40,106 INFO L130 BoogieDeclarations]: Found specification of procedure free [2022-04-07 17:59:40,107 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 17:59:40,107 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 17:59:40,107 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 17:59:40,108 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 17:59:40,110 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 17:59:40,110 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 17:59:40,110 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 17:59:40,110 INFO L130 BoogieDeclarations]: Found specification of procedure mkdup [2022-04-07 17:59:40,111 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 17:59:40,111 INFO L130 BoogieDeclarations]: Found specification of procedure finddup [2022-04-07 17:59:40,111 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 17:59:40,111 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 17:59:40,111 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-07 17:59:40,112 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-07 17:59:40,112 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-04-07 17:59:40,112 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 17:59:40,112 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 17:59:40,112 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 17:59:40,112 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 17:59:40,215 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 17:59:40,217 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 17:59:40,524 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 17:59:40,531 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 17:59:40,531 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-07 17:59:40,532 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 05:59:40 BoogieIcfgContainer [2022-04-07 17:59:40,533 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 17:59:40,533 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-07 17:59:40,533 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-07 17:59:40,536 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-07 17:59:40,538 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 05:59:40" (1/1) ... [2022-04-07 17:59:40,541 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-07 17:59:40,598 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 05:59:40 BasicIcfg [2022-04-07 17:59:40,598 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-07 17:59:40,601 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 17:59:40,601 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 17:59:40,604 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 17:59:40,604 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 05:59:39" (1/4) ... [2022-04-07 17:59:40,606 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@db5710 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 05:59:40, skipping insertion in model container [2022-04-07 17:59:40,606 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 05:59:39" (2/4) ... [2022-04-07 17:59:40,608 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@db5710 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 05:59:40, skipping insertion in model container [2022-04-07 17:59:40,608 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 05:59:40" (3/4) ... [2022-04-07 17:59:40,608 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@db5710 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 05:59:40, skipping insertion in model container [2022-04-07 17:59:40,608 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 05:59:40" (4/4) ... [2022-04-07 17:59:40,609 INFO L111 eAbstractionObserver]: Analyzing ICFG duplets.cJordan [2022-04-07 17:59:40,614 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-07 17:59:40,614 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 17:59:40,662 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 17:59:40,670 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=ForwardPredicates, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-07 17:59:40,670 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 17:59:40,687 INFO L276 IsEmpty]: Start isEmpty. Operand has 59 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 37 states have internal predecessors, (46), 14 states have call successors, (14), 7 states have call predecessors, (14), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-07 17:59:40,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-07 17:59:40,696 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:40,696 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 17:59:40,697 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:40,703 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:40,703 INFO L85 PathProgramCache]: Analyzing trace with hash -1613559281, now seen corresponding path program 1 times [2022-04-07 17:59:40,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:40,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47225922] [2022-04-07 17:59:40,712 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:40,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:40,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,884 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:40,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {98#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {62#true} is VALID [2022-04-07 17:59:40,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:40,903 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {62#true} {62#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:40,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:40,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,911 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:40,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:40,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:40,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {62#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {63#false} is VALID [2022-04-07 17:59:40,917 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:40,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} [138] #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] {62#true} is VALID [2022-04-07 17:59:40,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:40,931 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {62#true} {63#false} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {63#false} is VALID [2022-04-07 17:59:40,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:40,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,969 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:40,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,980 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:40,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:40,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:40,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {62#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {63#false} is VALID [2022-04-07 17:59:40,982 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:40,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:40,994 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:40,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:40,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:40,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {63#false} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {63#false} is VALID [2022-04-07 17:59:40,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:40,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:41,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {63#false} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {63#false} is VALID [2022-04-07 17:59:41,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {62#true} is VALID [2022-04-07 17:59:41,020 INFO L272 TraceCheckUtils]: 1: Hoare triple {62#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {62#true} is VALID [2022-04-07 17:59:41,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,021 INFO L290 TraceCheckUtils]: 3: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,022 INFO L290 TraceCheckUtils]: 4: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,022 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {63#false} {62#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {63#false} is VALID [2022-04-07 17:59:41,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {63#false} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {62#true} is VALID [2022-04-07 17:59:41,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63#false} {63#false} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {63#false} is VALID [2022-04-07 17:59:41,024 INFO L272 TraceCheckUtils]: 11: Hoare triple {63#false} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {62#true} is VALID [2022-04-07 17:59:41,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,027 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {63#false} {63#false} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {63#false} is VALID [2022-04-07 17:59:41,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {63#false} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {63#false} is VALID [2022-04-07 17:59:41,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {63#false} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,028 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {63#false} {63#false} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {63#false} is VALID [2022-04-07 17:59:41,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:41,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:41,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {62#true} is VALID [2022-04-07 17:59:41,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} [153] L36-3-->L36-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {63#false} is VALID [2022-04-07 17:59:41,052 INFO L290 TraceCheckUtils]: 3: Hoare triple {63#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,052 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63#false} {63#false} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {63#false} is VALID [2022-04-07 17:59:41,053 INFO L272 TraceCheckUtils]: 0: Hoare triple {62#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {98#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:41,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {98#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {62#true} is VALID [2022-04-07 17:59:41,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {62#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:41,057 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62#true} {62#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:41,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {62#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:41,058 INFO L290 TraceCheckUtils]: 5: Hoare triple {62#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {62#true} is VALID [2022-04-07 17:59:41,058 INFO L272 TraceCheckUtils]: 6: Hoare triple {62#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {62#true} is VALID [2022-04-07 17:59:41,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63#false} {62#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {63#false} is VALID [2022-04-07 17:59:41,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {63#false} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {63#false} is VALID [2022-04-07 17:59:41,064 INFO L272 TraceCheckUtils]: 12: Hoare triple {63#false} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {99#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:41,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} [138] #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] {62#true} is VALID [2022-04-07 17:59:41,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {62#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62#true} is VALID [2022-04-07 17:59:41,064 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62#true} {63#false} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {63#false} is VALID [2022-04-07 17:59:41,065 INFO L290 TraceCheckUtils]: 16: Hoare triple {63#false} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {63#false} is VALID [2022-04-07 17:59:41,065 INFO L272 TraceCheckUtils]: 17: Hoare triple {63#false} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {99#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:41,065 INFO L290 TraceCheckUtils]: 18: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {62#true} is VALID [2022-04-07 17:59:41,066 INFO L272 TraceCheckUtils]: 19: Hoare triple {62#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {62#true} is VALID [2022-04-07 17:59:41,066 INFO L290 TraceCheckUtils]: 20: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,067 INFO L290 TraceCheckUtils]: 21: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,068 INFO L290 TraceCheckUtils]: 22: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,068 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {63#false} {62#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {63#false} is VALID [2022-04-07 17:59:41,068 INFO L272 TraceCheckUtils]: 24: Hoare triple {63#false} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {62#true} is VALID [2022-04-07 17:59:41,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,069 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {63#false} {63#false} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {63#false} is VALID [2022-04-07 17:59:41,070 INFO L272 TraceCheckUtils]: 29: Hoare triple {63#false} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {62#true} is VALID [2022-04-07 17:59:41,070 INFO L290 TraceCheckUtils]: 30: Hoare triple {62#true} [133] assume_abort_if_notENTRY-->L16: 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] {62#true} is VALID [2022-04-07 17:59:41,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {62#true} [135] L16-->L16-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {63#false} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,071 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {63#false} {63#false} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {63#false} is VALID [2022-04-07 17:59:41,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {63#false} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {63#false} is VALID [2022-04-07 17:59:41,072 INFO L290 TraceCheckUtils]: 35: Hoare triple {63#false} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,072 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {63#false} {63#false} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {63#false} is VALID [2022-04-07 17:59:41,073 INFO L290 TraceCheckUtils]: 37: Hoare triple {63#false} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {63#false} is VALID [2022-04-07 17:59:41,075 INFO L272 TraceCheckUtils]: 38: Hoare triple {63#false} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {99#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:41,076 INFO L290 TraceCheckUtils]: 39: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {62#true} is VALID [2022-04-07 17:59:41,076 INFO L290 TraceCheckUtils]: 40: Hoare triple {62#true} [153] L36-3-->L36-4: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,076 INFO L290 TraceCheckUtils]: 41: Hoare triple {63#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {63#false} is VALID [2022-04-07 17:59:41,077 INFO L290 TraceCheckUtils]: 42: Hoare triple {63#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,077 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {63#false} {63#false} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {63#false} is VALID [2022-04-07 17:59:41,077 INFO L290 TraceCheckUtils]: 44: Hoare triple {63#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {63#false} is VALID [2022-04-07 17:59:41,077 INFO L272 TraceCheckUtils]: 45: Hoare triple {63#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {63#false} is VALID [2022-04-07 17:59:41,078 INFO L290 TraceCheckUtils]: 46: Hoare triple {63#false} [157] __VERIFIER_assertENTRY-->L10: 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] {63#false} is VALID [2022-04-07 17:59:41,078 INFO L290 TraceCheckUtils]: 47: Hoare triple {63#false} [164] L10-->L10-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[] {63#false} is VALID [2022-04-07 17:59:41,078 INFO L290 TraceCheckUtils]: 48: Hoare triple {63#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63#false} is VALID [2022-04-07 17:59:41,079 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:41,080 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:41,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [47225922] [2022-04-07 17:59:41,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [47225922] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 17:59:41,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 17:59:41,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 17:59:41,082 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891779305] [2022-04-07 17:59:41,083 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 17:59:41,089 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-07 17:59:41,091 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:41,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 17:59:41,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:41,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 17:59:41,180 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:41,204 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 17:59:41,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 17:59:41,207 INFO L87 Difference]: Start difference. First operand has 59 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 37 states have internal predecessors, (46), 14 states have call successors, (14), 7 states have call predecessors, (14), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 17:59:41,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:41,576 INFO L93 Difference]: Finished difference Result 61 states and 72 transitions. [2022-04-07 17:59:41,576 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 17:59:41,576 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-07 17:59:41,577 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:41,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 17:59:41,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 76 transitions. [2022-04-07 17:59:41,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 17:59:41,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 76 transitions. [2022-04-07 17:59:41,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 76 transitions. [2022-04-07 17:59:41,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:41,779 INFO L225 Difference]: With dead ends: 61 [2022-04-07 17:59:41,780 INFO L226 Difference]: Without dead ends: 56 [2022-04-07 17:59:41,781 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 23 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-07 17:59:41,787 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 59 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 90 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:41,788 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 55 Invalid, 90 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 17:59:41,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-07 17:59:41,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-07 17:59:41,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:41,819 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:41,821 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:41,822 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:41,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:41,829 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-07 17:59:41,829 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-07 17:59:41,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:41,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:41,831 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 56 states. [2022-04-07 17:59:41,834 INFO L87 Difference]: Start difference. First operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 56 states. [2022-04-07 17:59:41,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:41,845 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-07 17:59:41,845 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-07 17:59:41,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:41,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:41,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:41,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:41,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:41,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 65 transitions. [2022-04-07 17:59:41,856 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 65 transitions. Word has length 49 [2022-04-07 17:59:41,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:41,857 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 65 transitions. [2022-04-07 17:59:41,857 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-07 17:59:41,857 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-07 17:59:41,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-07 17:59:41,863 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:41,863 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 17:59:41,864 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 17:59:41,864 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:41,865 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:41,865 INFO L85 PathProgramCache]: Analyzing trace with hash -1068751152, now seen corresponding path program 1 times [2022-04-07 17:59:41,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:41,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1898254974] [2022-04-07 17:59:41,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:41,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:41,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:42,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {381#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {344#true} is VALID [2022-04-07 17:59:42,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,015 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {344#true} {344#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:42,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {344#true} {344#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:42,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:42,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {382#(= |#memory_int| |old(#memory_int)|)} [138] #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] {344#true} is VALID [2022-04-07 17:59:42,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,030 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {344#true} {344#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {344#true} is VALID [2022-04-07 17:59:42,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:42,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,095 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:42,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:42,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {399#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {399#(not (= |assume_abort_if_not_#in~cond| 0))} {383#(= |mkdup_#in~n| mkdup_~n)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} is VALID [2022-04-07 17:59:42,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:42,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {344#true} {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:42,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {344#true} {393#(<= 1 |mkdup_#in~n|)} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,162 INFO L290 TraceCheckUtils]: 0: Hoare triple {382#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {383#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-07 17:59:42,163 INFO L272 TraceCheckUtils]: 1: Hoare triple {383#(= |mkdup_#in~n| mkdup_~n)} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:42,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:42,164 INFO L290 TraceCheckUtils]: 3: Hoare triple {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,164 INFO L290 TraceCheckUtils]: 4: Hoare triple {399#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,165 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {399#(not (= |assume_abort_if_not_#in~cond| 0))} {383#(= |mkdup_#in~n| mkdup_~n)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} is VALID [2022-04-07 17:59:42,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {344#true} is VALID [2022-04-07 17:59:42,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,167 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {344#true} {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,167 INFO L272 TraceCheckUtils]: 11: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:42,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,169 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {344#true} {393#(<= 1 |mkdup_#in~n|)} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,170 INFO L290 TraceCheckUtils]: 17: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,171 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {393#(<= 1 |mkdup_#in~n|)} {344#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:42,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:42,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {382#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {400#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-07 17:59:42,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {400#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {401#(<= |finddup_#in~n| 0)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {401#(<= |finddup_#in~n| 0)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,218 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {401#(<= |finddup_#in~n| 0)} {375#(<= 1 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {345#false} is VALID [2022-04-07 17:59:42,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {344#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {381#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:42,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {381#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {344#true} is VALID [2022-04-07 17:59:42,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {344#true} {344#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,220 INFO L272 TraceCheckUtils]: 4: Hoare triple {344#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,220 INFO L290 TraceCheckUtils]: 5: Hoare triple {344#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {344#true} is VALID [2022-04-07 17:59:42,220 INFO L272 TraceCheckUtils]: 6: Hoare triple {344#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:42,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,221 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {344#true} {344#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:42,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {344#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {344#true} is VALID [2022-04-07 17:59:42,222 INFO L272 TraceCheckUtils]: 12: Hoare triple {344#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {382#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:42,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {382#(= |#memory_int| |old(#memory_int)|)} [138] #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] {344#true} is VALID [2022-04-07 17:59:42,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {344#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,223 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {344#true} {344#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {344#true} is VALID [2022-04-07 17:59:42,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {344#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {344#true} is VALID [2022-04-07 17:59:42,224 INFO L272 TraceCheckUtils]: 17: Hoare triple {344#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {382#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:42,225 INFO L290 TraceCheckUtils]: 18: Hoare triple {382#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {383#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-07 17:59:42,225 INFO L272 TraceCheckUtils]: 19: Hoare triple {383#(= |mkdup_#in~n| mkdup_~n)} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:42,226 INFO L290 TraceCheckUtils]: 20: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:42,226 INFO L290 TraceCheckUtils]: 21: Hoare triple {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,227 INFO L290 TraceCheckUtils]: 22: Hoare triple {399#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,228 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {399#(not (= |assume_abort_if_not_#in~cond| 0))} {383#(= |mkdup_#in~n| mkdup_~n)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} is VALID [2022-04-07 17:59:42,228 INFO L272 TraceCheckUtils]: 24: Hoare triple {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {344#true} is VALID [2022-04-07 17:59:42,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,228 INFO L290 TraceCheckUtils]: 26: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,228 INFO L290 TraceCheckUtils]: 27: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,229 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {344#true} {388#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,229 INFO L272 TraceCheckUtils]: 29: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:42,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,231 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {344#true} {393#(<= 1 |mkdup_#in~n|)} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,231 INFO L290 TraceCheckUtils]: 34: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,232 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {393#(<= 1 |mkdup_#in~n|)} {344#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:42,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {375#(<= 1 main_~n~0)} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:42,234 INFO L272 TraceCheckUtils]: 38: Hoare triple {375#(<= 1 main_~n~0)} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {382#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:42,235 INFO L290 TraceCheckUtils]: 39: Hoare triple {382#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {400#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-07 17:59:42,236 INFO L290 TraceCheckUtils]: 40: Hoare triple {400#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,236 INFO L290 TraceCheckUtils]: 41: Hoare triple {401#(<= |finddup_#in~n| 0)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,237 INFO L290 TraceCheckUtils]: 42: Hoare triple {401#(<= |finddup_#in~n| 0)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,238 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {401#(<= |finddup_#in~n| 0)} {375#(<= 1 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {345#false} is VALID [2022-04-07 17:59:42,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {345#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {345#false} is VALID [2022-04-07 17:59:42,239 INFO L272 TraceCheckUtils]: 45: Hoare triple {345#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {345#false} is VALID [2022-04-07 17:59:42,239 INFO L290 TraceCheckUtils]: 46: Hoare triple {345#false} [157] __VERIFIER_assertENTRY-->L10: 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] {345#false} is VALID [2022-04-07 17:59:42,239 INFO L290 TraceCheckUtils]: 47: Hoare triple {345#false} [164] L10-->L10-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[] {345#false} is VALID [2022-04-07 17:59:42,239 INFO L290 TraceCheckUtils]: 48: Hoare triple {345#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {345#false} is VALID [2022-04-07 17:59:42,240 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 17:59:42,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:42,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1898254974] [2022-04-07 17:59:42,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1898254974] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 17:59:42,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1344377995] [2022-04-07 17:59:42,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:42,241 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:42,241 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 17:59:42,243 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-07 17:59:42,282 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-07 17:59:42,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,356 INFO L263 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-07 17:59:42,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:42,397 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 17:59:42,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {344#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {344#true} is VALID [2022-04-07 17:59:42,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {344#true} {344#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {344#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {344#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {344#true} is VALID [2022-04-07 17:59:42,745 INFO L272 TraceCheckUtils]: 6: Hoare triple {344#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:42,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,745 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {344#true} {344#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:42,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {344#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {344#true} is VALID [2022-04-07 17:59:42,746 INFO L272 TraceCheckUtils]: 12: Hoare triple {344#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {344#true} is VALID [2022-04-07 17:59:42,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {344#true} [138] #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] {344#true} is VALID [2022-04-07 17:59:42,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {344#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,747 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {344#true} {344#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {344#true} is VALID [2022-04-07 17:59:42,747 INFO L290 TraceCheckUtils]: 16: Hoare triple {344#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {344#true} is VALID [2022-04-07 17:59:42,749 INFO L272 TraceCheckUtils]: 17: Hoare triple {344#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {344#true} is VALID [2022-04-07 17:59:42,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {344#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {459#(<= mkdup_~n |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,753 INFO L272 TraceCheckUtils]: 19: Hoare triple {459#(<= mkdup_~n |mkdup_#in~n|)} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:42,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,754 INFO L290 TraceCheckUtils]: 21: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,754 INFO L290 TraceCheckUtils]: 22: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,755 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {344#true} {459#(<= mkdup_~n |mkdup_#in~n|)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {459#(<= mkdup_~n |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,755 INFO L272 TraceCheckUtils]: 24: Hoare triple {459#(<= mkdup_~n |mkdup_#in~n|)} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {344#true} is VALID [2022-04-07 17:59:42,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:42,756 INFO L290 TraceCheckUtils]: 26: Hoare triple {398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,757 INFO L290 TraceCheckUtils]: 27: Hoare triple {399#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:42,758 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {399#(not (= |assume_abort_if_not_#in~cond| 0))} {459#(<= mkdup_~n |mkdup_#in~n|)} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,758 INFO L272 TraceCheckUtils]: 29: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:42,758 INFO L290 TraceCheckUtils]: 30: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:42,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:42,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:42,759 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {344#true} {393#(<= 1 |mkdup_#in~n|)} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,760 INFO L290 TraceCheckUtils]: 34: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,760 INFO L290 TraceCheckUtils]: 35: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:42,761 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {393#(<= 1 |mkdup_#in~n|)} {344#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:42,762 INFO L290 TraceCheckUtils]: 37: Hoare triple {375#(<= 1 main_~n~0)} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:42,762 INFO L272 TraceCheckUtils]: 38: Hoare triple {375#(<= 1 main_~n~0)} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {344#true} is VALID [2022-04-07 17:59:42,763 INFO L290 TraceCheckUtils]: 39: Hoare triple {344#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {523#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} is VALID [2022-04-07 17:59:42,763 INFO L290 TraceCheckUtils]: 40: Hoare triple {523#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {401#(<= |finddup_#in~n| 0)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,764 INFO L290 TraceCheckUtils]: 42: Hoare triple {401#(<= |finddup_#in~n| 0)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:42,765 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {401#(<= |finddup_#in~n| 0)} {375#(<= 1 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {345#false} is VALID [2022-04-07 17:59:42,766 INFO L290 TraceCheckUtils]: 44: Hoare triple {345#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {345#false} is VALID [2022-04-07 17:59:42,766 INFO L272 TraceCheckUtils]: 45: Hoare triple {345#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {345#false} is VALID [2022-04-07 17:59:42,766 INFO L290 TraceCheckUtils]: 46: Hoare triple {345#false} [157] __VERIFIER_assertENTRY-->L10: 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] {345#false} is VALID [2022-04-07 17:59:42,766 INFO L290 TraceCheckUtils]: 47: Hoare triple {345#false} [164] L10-->L10-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[] {345#false} is VALID [2022-04-07 17:59:42,766 INFO L290 TraceCheckUtils]: 48: Hoare triple {345#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {345#false} is VALID [2022-04-07 17:59:42,767 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 17:59:42,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 17:59:43,587 INFO L290 TraceCheckUtils]: 48: Hoare triple {345#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {345#false} is VALID [2022-04-07 17:59:43,588 INFO L290 TraceCheckUtils]: 47: Hoare triple {345#false} [164] L10-->L10-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[] {345#false} is VALID [2022-04-07 17:59:43,588 INFO L290 TraceCheckUtils]: 46: Hoare triple {345#false} [157] __VERIFIER_assertENTRY-->L10: 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] {345#false} is VALID [2022-04-07 17:59:43,588 INFO L272 TraceCheckUtils]: 45: Hoare triple {345#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {345#false} is VALID [2022-04-07 17:59:43,589 INFO L290 TraceCheckUtils]: 44: Hoare triple {345#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {345#false} is VALID [2022-04-07 17:59:43,597 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {401#(<= |finddup_#in~n| 0)} {375#(<= 1 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {345#false} is VALID [2022-04-07 17:59:43,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {401#(<= |finddup_#in~n| 0)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:43,599 INFO L290 TraceCheckUtils]: 41: Hoare triple {401#(<= |finddup_#in~n| 0)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:43,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {578#(or (< finddup_~i~1 finddup_~n) (<= |finddup_#in~n| 0))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {401#(<= |finddup_#in~n| 0)} is VALID [2022-04-07 17:59:43,602 INFO L290 TraceCheckUtils]: 39: Hoare triple {344#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {578#(or (< finddup_~i~1 finddup_~n) (<= |finddup_#in~n| 0))} is VALID [2022-04-07 17:59:43,602 INFO L272 TraceCheckUtils]: 38: Hoare triple {375#(<= 1 main_~n~0)} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {344#true} is VALID [2022-04-07 17:59:43,603 INFO L290 TraceCheckUtils]: 37: Hoare triple {375#(<= 1 main_~n~0)} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:43,604 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {393#(<= 1 |mkdup_#in~n|)} {344#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {375#(<= 1 main_~n~0)} is VALID [2022-04-07 17:59:43,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:43,609 INFO L290 TraceCheckUtils]: 34: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:43,610 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {344#true} {393#(<= 1 |mkdup_#in~n|)} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:43,610 INFO L290 TraceCheckUtils]: 32: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:43,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:43,611 INFO L272 TraceCheckUtils]: 29: Hoare triple {393#(<= 1 |mkdup_#in~n|)} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:43,616 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {399#(not (= |assume_abort_if_not_#in~cond| 0))} {615#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {393#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:43,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {399#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:43,617 INFO L290 TraceCheckUtils]: 26: Hoare triple {625#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [136] L16-->L16-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[] {399#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:43,617 INFO L290 TraceCheckUtils]: 25: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {625#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 17:59:43,617 INFO L272 TraceCheckUtils]: 24: Hoare triple {615#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {344#true} is VALID [2022-04-07 17:59:43,618 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {344#true} {615#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {615#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:43,618 INFO L290 TraceCheckUtils]: 22: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:43,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:43,619 INFO L272 TraceCheckUtils]: 19: Hoare triple {615#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {344#true} is VALID [2022-04-07 17:59:43,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {344#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {615#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:43,620 INFO L272 TraceCheckUtils]: 17: Hoare triple {344#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {344#true} is VALID [2022-04-07 17:59:43,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {344#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {344#true} is VALID [2022-04-07 17:59:43,620 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {344#true} {344#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {344#true} is VALID [2022-04-07 17:59:43,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {344#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,621 INFO L290 TraceCheckUtils]: 13: Hoare triple {344#true} [138] #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] {344#true} is VALID [2022-04-07 17:59:43,621 INFO L272 TraceCheckUtils]: 12: Hoare triple {344#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {344#true} is VALID [2022-04-07 17:59:43,621 INFO L290 TraceCheckUtils]: 11: Hoare triple {344#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {344#true} is VALID [2022-04-07 17:59:43,621 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {344#true} {344#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:43,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {344#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,621 INFO L290 TraceCheckUtils]: 8: Hoare triple {344#true} [136] L16-->L16-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[] {344#true} is VALID [2022-04-07 17:59:43,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {344#true} [133] assume_abort_if_notENTRY-->L16: 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] {344#true} is VALID [2022-04-07 17:59:43,622 INFO L272 TraceCheckUtils]: 6: Hoare triple {344#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {344#true} is VALID [2022-04-07 17:59:43,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {344#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {344#true} is VALID [2022-04-07 17:59:43,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {344#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {344#true} {344#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {344#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {344#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {344#true} is VALID [2022-04-07 17:59:43,623 INFO L272 TraceCheckUtils]: 0: Hoare triple {344#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {344#true} is VALID [2022-04-07 17:59:43,623 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 17:59:43,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1344377995] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 17:59:43,624 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 17:59:43,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9, 9] total 17 [2022-04-07 17:59:43,624 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283585814] [2022-04-07 17:59:43,625 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 17:59:43,626 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) Word has length 49 [2022-04-07 17:59:43,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:43,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-07 17:59:43,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:43,694 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-07 17:59:43,694 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:43,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-07 17:59:43,695 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2022-04-07 17:59:43,695 INFO L87 Difference]: Start difference. First operand 54 states and 65 transitions. Second operand has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-07 17:59:45,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:45,314 INFO L93 Difference]: Finished difference Result 66 states and 79 transitions. [2022-04-07 17:59:45,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 17:59:45,315 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) Word has length 49 [2022-04-07 17:59:45,315 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:45,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-07 17:59:45,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 80 transitions. [2022-04-07 17:59:45,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-07 17:59:45,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 80 transitions. [2022-04-07 17:59:45,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 80 transitions. [2022-04-07 17:59:45,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:45,426 INFO L225 Difference]: With dead ends: 66 [2022-04-07 17:59:45,427 INFO L226 Difference]: Without dead ends: 63 [2022-04-07 17:59:45,428 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 103 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=139, Invalid=673, Unknown=0, NotChecked=0, Total=812 [2022-04-07 17:59:45,430 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 108 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 588 mSolverCounterSat, 68 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 656 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 68 IncrementalHoareTripleChecker+Valid, 588 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:45,431 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [109 Valid, 60 Invalid, 656 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [68 Valid, 588 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-07 17:59:45,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-07 17:59:45,443 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 55. [2022-04-07 17:59:45,443 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:45,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:45,445 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:45,446 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:45,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:45,458 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2022-04-07 17:59:45,458 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-07 17:59:45,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:45,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:45,459 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-07 17:59:45,459 INFO L87 Difference]: Start difference. First operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-07 17:59:45,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:45,466 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2022-04-07 17:59:45,466 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-07 17:59:45,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:45,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:45,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:45,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:45,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 17:59:45,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 66 transitions. [2022-04-07 17:59:45,474 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 66 transitions. Word has length 49 [2022-04-07 17:59:45,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:45,474 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 66 transitions. [2022-04-07 17:59:45,475 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 13 states have (on average 2.6923076923076925) internal successors, (35), 14 states have internal predecessors, (35), 8 states have call successors, (18), 4 states have call predecessors, (18), 4 states have return successors, (12), 7 states have call predecessors, (12), 7 states have call successors, (12) [2022-04-07 17:59:45,475 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-04-07 17:59:45,477 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-07 17:59:45,477 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:45,477 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 17:59:45,503 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-07 17:59:45,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:45,692 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:45,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:45,692 INFO L85 PathProgramCache]: Analyzing trace with hash -1304641222, now seen corresponding path program 1 times [2022-04-07 17:59:45,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:45,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [803277822] [2022-04-07 17:59:45,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:45,693 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:45,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,762 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:45,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,766 INFO L290 TraceCheckUtils]: 0: Hoare triple {1013#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {972#true} is VALID [2022-04-07 17:59:45,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,767 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {972#true} {972#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,767 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:45,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {972#true} is VALID [2022-04-07 17:59:45,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:45,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,780 INFO L290 TraceCheckUtils]: 0: Hoare triple {1014#(= |#memory_int| |old(#memory_int)|)} [138] #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] {972#true} is VALID [2022-04-07 17:59:45,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,780 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {972#true} {972#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {972#true} is VALID [2022-04-07 17:59:45,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:45,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,790 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:45,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:45,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,797 INFO L290 TraceCheckUtils]: 0: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {972#true} is VALID [2022-04-07 17:59:45,798 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:45,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {1014#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L272 TraceCheckUtils]: 1: Hoare triple {972#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L290 TraceCheckUtils]: 4: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {972#true} {972#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,802 INFO L272 TraceCheckUtils]: 6: Hoare triple {972#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {972#true} {972#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L272 TraceCheckUtils]: 11: Hoare triple {972#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L290 TraceCheckUtils]: 12: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,804 INFO L290 TraceCheckUtils]: 14: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,804 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {972#true} {972#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,804 INFO L290 TraceCheckUtils]: 16: Hoare triple {972#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {972#true} is VALID [2022-04-07 17:59:45,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {972#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,804 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {972#true} {972#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {972#true} is VALID [2022-04-07 17:59:45,804 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:45,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:45,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {1014#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {972#true} is VALID [2022-04-07 17:59:45,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {972#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {972#true} is VALID [2022-04-07 17:59:45,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {972#true} is VALID [2022-04-07 17:59:45,829 INFO L290 TraceCheckUtils]: 3: Hoare triple {972#true} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-07 17:59:45,829 INFO L290 TraceCheckUtils]: 4: Hoare triple {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-07 17:59:45,831 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} {972#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1009#(= |main_#t~ret14| 1)} is VALID [2022-04-07 17:59:45,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {972#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1013#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:45,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {1013#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {972#true} is VALID [2022-04-07 17:59:45,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {972#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,833 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {972#true} {972#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,833 INFO L272 TraceCheckUtils]: 4: Hoare triple {972#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,833 INFO L290 TraceCheckUtils]: 5: Hoare triple {972#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {972#true} is VALID [2022-04-07 17:59:45,833 INFO L272 TraceCheckUtils]: 6: Hoare triple {972#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {972#true} is VALID [2022-04-07 17:59:45,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,834 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {972#true} {972#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {972#true} is VALID [2022-04-07 17:59:45,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {972#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {972#true} is VALID [2022-04-07 17:59:45,835 INFO L272 TraceCheckUtils]: 12: Hoare triple {972#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1014#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:45,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {1014#(= |#memory_int| |old(#memory_int)|)} [138] #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] {972#true} is VALID [2022-04-07 17:59:45,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {972#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,836 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {972#true} {972#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {972#true} is VALID [2022-04-07 17:59:45,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {972#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {972#true} is VALID [2022-04-07 17:59:45,837 INFO L272 TraceCheckUtils]: 17: Hoare triple {972#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1014#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:45,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {1014#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,837 INFO L272 TraceCheckUtils]: 19: Hoare triple {972#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,837 INFO L290 TraceCheckUtils]: 21: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,837 INFO L290 TraceCheckUtils]: 22: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {972#true} {972#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L272 TraceCheckUtils]: 24: Hoare triple {972#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L290 TraceCheckUtils]: 26: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {972#true} {972#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L272 TraceCheckUtils]: 29: Hoare triple {972#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {972#true} [133] assume_abort_if_notENTRY-->L16: 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] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {972#true} [136] L16-->L16-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[] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {972#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {972#true} {972#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L290 TraceCheckUtils]: 34: Hoare triple {972#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L290 TraceCheckUtils]: 35: Hoare triple {972#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {972#true} {972#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {972#true} is VALID [2022-04-07 17:59:45,839 INFO L290 TraceCheckUtils]: 37: Hoare triple {972#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {972#true} is VALID [2022-04-07 17:59:45,841 INFO L272 TraceCheckUtils]: 38: Hoare triple {972#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1014#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:45,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {1014#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {972#true} is VALID [2022-04-07 17:59:45,841 INFO L290 TraceCheckUtils]: 40: Hoare triple {972#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {972#true} is VALID [2022-04-07 17:59:45,841 INFO L290 TraceCheckUtils]: 41: Hoare triple {972#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {972#true} is VALID [2022-04-07 17:59:45,842 INFO L290 TraceCheckUtils]: 42: Hoare triple {972#true} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-07 17:59:45,842 INFO L290 TraceCheckUtils]: 43: Hoare triple {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-07 17:59:45,844 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {1027#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} {972#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1009#(= |main_#t~ret14| 1)} is VALID [2022-04-07 17:59:45,844 INFO L290 TraceCheckUtils]: 45: Hoare triple {1009#(= |main_#t~ret14| 1)} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1010#(= main_~r~0 1)} is VALID [2022-04-07 17:59:45,845 INFO L272 TraceCheckUtils]: 46: Hoare triple {1010#(= main_~r~0 1)} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1011#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2022-04-07 17:59:45,845 INFO L290 TraceCheckUtils]: 47: Hoare triple {1011#(= |__VERIFIER_assert_#in~cond| 1)} [157] __VERIFIER_assertENTRY-->L10: 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] {1012#(= __VERIFIER_assert_~cond 1)} is VALID [2022-04-07 17:59:45,846 INFO L290 TraceCheckUtils]: 48: Hoare triple {1012#(= __VERIFIER_assert_~cond 1)} [164] L10-->L10-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[] {973#false} is VALID [2022-04-07 17:59:45,846 INFO L290 TraceCheckUtils]: 49: Hoare triple {973#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {973#false} is VALID [2022-04-07 17:59:45,846 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:45,846 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:45,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [803277822] [2022-04-07 17:59:45,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [803277822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 17:59:45,847 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 17:59:45,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-07 17:59:45,847 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1465515225] [2022-04-07 17:59:45,847 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 17:59:45,848 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 50 [2022-04-07 17:59:45,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:45,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:45,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:45,879 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 17:59:45,880 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:45,880 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 17:59:45,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2022-04-07 17:59:45,880 INFO L87 Difference]: Start difference. First operand 55 states and 66 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:46,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:46,844 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-07 17:59:46,844 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 17:59:46,844 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 50 [2022-04-07 17:59:46,844 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:46,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:46,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 89 transitions. [2022-04-07 17:59:46,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:46,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 89 transitions. [2022-04-07 17:59:46,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 89 transitions. [2022-04-07 17:59:46,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:46,951 INFO L225 Difference]: With dead ends: 73 [2022-04-07 17:59:46,951 INFO L226 Difference]: Without dead ends: 73 [2022-04-07 17:59:46,951 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-07 17:59:46,952 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 84 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 395 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 395 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:46,952 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [91 Valid, 57 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 395 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-07 17:59:46,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-07 17:59:46,957 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 63. [2022-04-07 17:59:46,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:46,957 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:46,958 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:46,958 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:46,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:46,961 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-07 17:59:46,961 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 89 transitions. [2022-04-07 17:59:46,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:46,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:46,962 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 73 states. [2022-04-07 17:59:46,962 INFO L87 Difference]: Start difference. First operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 73 states. [2022-04-07 17:59:46,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:46,965 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-07 17:59:46,965 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 89 transitions. [2022-04-07 17:59:46,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:46,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:46,966 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:46,966 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:46,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:46,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 74 transitions. [2022-04-07 17:59:46,968 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 74 transitions. Word has length 50 [2022-04-07 17:59:46,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:46,969 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 74 transitions. [2022-04-07 17:59:46,969 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:46,969 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 74 transitions. [2022-04-07 17:59:46,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-07 17:59:46,970 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:46,970 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 17:59:46,970 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-07 17:59:46,970 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:46,970 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:46,971 INFO L85 PathProgramCache]: Analyzing trace with hash 1610834198, now seen corresponding path program 1 times [2022-04-07 17:59:46,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:46,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1928176448] [2022-04-07 17:59:46,971 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:46,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:47,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:47,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {1365#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1325#true} is VALID [2022-04-07 17:59:47,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {1325#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,040 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1325#true} {1325#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:47,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1325#true} is VALID [2022-04-07 17:59:47,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {1325#true} [136] L16-->L16-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[] {1325#true} is VALID [2022-04-07 17:59:47,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {1325#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1325#true} {1325#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:47,046 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:47,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {1366#(= |#memory_int| |old(#memory_int)|)} [138] #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] {1325#true} is VALID [2022-04-07 17:59:47,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {1325#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,050 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1325#true} {1325#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1325#true} is VALID [2022-04-07 17:59:47,050 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:47,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,220 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:47,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,242 INFO L290 TraceCheckUtils]: 0: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1367#(= |mkdup_#in~n| mkdup_~n)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} is VALID [2022-04-07 17:59:47,244 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:47,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,255 INFO L290 TraceCheckUtils]: 0: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:47,257 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:47,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,264 INFO L290 TraceCheckUtils]: 0: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,266 INFO L290 TraceCheckUtils]: 0: Hoare triple {1366#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1367#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-07 17:59:47,266 INFO L272 TraceCheckUtils]: 1: Hoare triple {1367#(= |mkdup_#in~n| mkdup_~n)} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:47,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,267 INFO L290 TraceCheckUtils]: 3: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,267 INFO L290 TraceCheckUtils]: 4: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,268 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1367#(= |mkdup_#in~n| mkdup_~n)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} is VALID [2022-04-07 17:59:47,268 INFO L272 TraceCheckUtils]: 6: Hoare triple {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1325#true} is VALID [2022-04-07 17:59:47,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:47,271 INFO L272 TraceCheckUtils]: 11: Hoare triple {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:47,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,271 INFO L290 TraceCheckUtils]: 13: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,272 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,273 INFO L290 TraceCheckUtils]: 16: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,274 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1382#(<= 2 |mkdup_#in~n|)} {1325#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:47,274 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:47,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,351 INFO L290 TraceCheckUtils]: 0: Hoare triple {1366#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1385#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-07 17:59:47,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {1385#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {1386#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:47,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {1386#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-07 17:59:47,352 INFO L290 TraceCheckUtils]: 3: Hoare triple {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-07 17:59:47,353 INFO L290 TraceCheckUtils]: 4: Hoare triple {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:47,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {1388#(<= |finddup_#in~n| 1)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:47,354 INFO L290 TraceCheckUtils]: 6: Hoare triple {1388#(<= |finddup_#in~n| 1)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:47,356 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1388#(<= |finddup_#in~n| 1)} {1356#(<= 2 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1326#false} is VALID [2022-04-07 17:59:47,356 INFO L272 TraceCheckUtils]: 0: Hoare triple {1325#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1365#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:47,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {1365#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {1325#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1325#true} {1325#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L272 TraceCheckUtils]: 4: Hoare triple {1325#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L290 TraceCheckUtils]: 5: Hoare triple {1325#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L272 TraceCheckUtils]: 6: Hoare triple {1325#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L290 TraceCheckUtils]: 7: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1325#true} is VALID [2022-04-07 17:59:47,357 INFO L290 TraceCheckUtils]: 8: Hoare triple {1325#true} [136] L16-->L16-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[] {1325#true} is VALID [2022-04-07 17:59:47,358 INFO L290 TraceCheckUtils]: 9: Hoare triple {1325#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,358 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1325#true} {1325#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:47,358 INFO L290 TraceCheckUtils]: 11: Hoare triple {1325#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {1325#true} is VALID [2022-04-07 17:59:47,359 INFO L272 TraceCheckUtils]: 12: Hoare triple {1325#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1366#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:47,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {1366#(= |#memory_int| |old(#memory_int)|)} [138] #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] {1325#true} is VALID [2022-04-07 17:59:47,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {1325#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:47,359 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1325#true} {1325#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1325#true} is VALID [2022-04-07 17:59:47,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {1325#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {1325#true} is VALID [2022-04-07 17:59:47,360 INFO L272 TraceCheckUtils]: 17: Hoare triple {1325#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1366#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:47,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {1366#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1367#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-07 17:59:47,361 INFO L272 TraceCheckUtils]: 19: Hoare triple {1367#(= |mkdup_#in~n| mkdup_~n)} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:47,362 INFO L290 TraceCheckUtils]: 20: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,363 INFO L290 TraceCheckUtils]: 21: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,363 INFO L290 TraceCheckUtils]: 22: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,364 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1367#(= |mkdup_#in~n| mkdup_~n)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} is VALID [2022-04-07 17:59:47,364 INFO L272 TraceCheckUtils]: 24: Hoare triple {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1325#true} is VALID [2022-04-07 17:59:47,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,365 INFO L290 TraceCheckUtils]: 26: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,365 INFO L290 TraceCheckUtils]: 27: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,366 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1372#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:47,366 INFO L272 TraceCheckUtils]: 29: Hoare triple {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:47,367 INFO L290 TraceCheckUtils]: 30: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:47,367 INFO L290 TraceCheckUtils]: 31: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,367 INFO L290 TraceCheckUtils]: 32: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:47,368 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,368 INFO L290 TraceCheckUtils]: 34: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,369 INFO L290 TraceCheckUtils]: 35: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:47,369 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1382#(<= 2 |mkdup_#in~n|)} {1325#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:47,370 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 2 main_~n~0)} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:47,371 INFO L272 TraceCheckUtils]: 38: Hoare triple {1356#(<= 2 main_~n~0)} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1366#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:47,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {1366#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1385#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-07 17:59:47,372 INFO L290 TraceCheckUtils]: 40: Hoare triple {1385#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {1386#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:47,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {1386#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-07 17:59:47,373 INFO L290 TraceCheckUtils]: 42: Hoare triple {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-07 17:59:47,374 INFO L290 TraceCheckUtils]: 43: Hoare triple {1387#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:47,374 INFO L290 TraceCheckUtils]: 44: Hoare triple {1388#(<= |finddup_#in~n| 1)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:47,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {1388#(<= |finddup_#in~n| 1)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:47,375 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1388#(<= |finddup_#in~n| 1)} {1356#(<= 2 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1326#false} is VALID [2022-04-07 17:59:47,376 INFO L290 TraceCheckUtils]: 47: Hoare triple {1326#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1326#false} is VALID [2022-04-07 17:59:47,376 INFO L272 TraceCheckUtils]: 48: Hoare triple {1326#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1326#false} is VALID [2022-04-07 17:59:47,376 INFO L290 TraceCheckUtils]: 49: Hoare triple {1326#false} [157] __VERIFIER_assertENTRY-->L10: 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] {1326#false} is VALID [2022-04-07 17:59:47,376 INFO L290 TraceCheckUtils]: 50: Hoare triple {1326#false} [164] L10-->L10-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[] {1326#false} is VALID [2022-04-07 17:59:47,376 INFO L290 TraceCheckUtils]: 51: Hoare triple {1326#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1326#false} is VALID [2022-04-07 17:59:47,376 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 17:59:47,377 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:47,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1928176448] [2022-04-07 17:59:47,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1928176448] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 17:59:47,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1841998320] [2022-04-07 17:59:47,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:47,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:47,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 17:59:47,378 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 17:59:47,379 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-07 17:59:47,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-07 17:59:47,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:47,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 17:59:48,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {1325#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {1325#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {1325#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1325#true} {1325#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {1325#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {1325#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L272 TraceCheckUtils]: 6: Hoare triple {1325#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1325#true} is VALID [2022-04-07 17:59:48,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {1325#true} [136] L16-->L16-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[] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {1325#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1325#true} {1325#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L290 TraceCheckUtils]: 11: Hoare triple {1325#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L272 TraceCheckUtils]: 12: Hoare triple {1325#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {1325#true} [138] #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] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {1325#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1325#true} {1325#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1325#true} is VALID [2022-04-07 17:59:48,094 INFO L290 TraceCheckUtils]: 16: Hoare triple {1325#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {1325#true} is VALID [2022-04-07 17:59:48,095 INFO L272 TraceCheckUtils]: 17: Hoare triple {1325#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1325#true} is VALID [2022-04-07 17:59:48,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {1325#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1446#(<= mkdup_~n |mkdup_#in~n|)} is VALID [2022-04-07 17:59:48,095 INFO L272 TraceCheckUtils]: 19: Hoare triple {1446#(<= mkdup_~n |mkdup_#in~n|)} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:48,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:48,130 INFO L290 TraceCheckUtils]: 21: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:48,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:48,131 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1446#(<= mkdup_~n |mkdup_#in~n|)} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1462#(and (<= mkdup_~n |mkdup_#in~n|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 17:59:48,132 INFO L272 TraceCheckUtils]: 24: Hoare triple {1462#(and (<= mkdup_~n |mkdup_#in~n|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1325#true} is VALID [2022-04-07 17:59:48,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:48,132 INFO L290 TraceCheckUtils]: 26: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:48,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:48,134 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1462#(and (<= mkdup_~n |mkdup_#in~n|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1478#(and (<= 0 mkdup_~j~0) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:48,134 INFO L272 TraceCheckUtils]: 29: Hoare triple {1478#(and (<= 0 mkdup_~j~0) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:48,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:48,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {1383#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:48,135 INFO L290 TraceCheckUtils]: 32: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:48,135 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1478#(and (<= 0 mkdup_~j~0) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:48,136 INFO L290 TraceCheckUtils]: 34: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:48,136 INFO L290 TraceCheckUtils]: 35: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:48,137 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1382#(<= 2 |mkdup_#in~n|)} {1325#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:48,137 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 2 main_~n~0)} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:48,137 INFO L272 TraceCheckUtils]: 38: Hoare triple {1356#(<= 2 main_~n~0)} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1325#true} is VALID [2022-04-07 17:59:48,138 INFO L290 TraceCheckUtils]: 39: Hoare triple {1325#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1512#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} is VALID [2022-04-07 17:59:48,138 INFO L290 TraceCheckUtils]: 40: Hoare triple {1512#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {1516#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:48,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {1516#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:48,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {1388#(<= |finddup_#in~n| 1)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:48,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {1388#(<= |finddup_#in~n| 1)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:48,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {1388#(<= |finddup_#in~n| 1)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:48,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {1388#(<= |finddup_#in~n| 1)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:48,141 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1388#(<= |finddup_#in~n| 1)} {1356#(<= 2 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1326#false} is VALID [2022-04-07 17:59:48,141 INFO L290 TraceCheckUtils]: 47: Hoare triple {1326#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1326#false} is VALID [2022-04-07 17:59:48,141 INFO L272 TraceCheckUtils]: 48: Hoare triple {1326#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1326#false} is VALID [2022-04-07 17:59:48,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {1326#false} [157] __VERIFIER_assertENTRY-->L10: 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] {1326#false} is VALID [2022-04-07 17:59:48,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {1326#false} [164] L10-->L10-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[] {1326#false} is VALID [2022-04-07 17:59:48,142 INFO L290 TraceCheckUtils]: 51: Hoare triple {1326#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1326#false} is VALID [2022-04-07 17:59:48,142 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 17:59:48,142 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 17:59:50,229 INFO L290 TraceCheckUtils]: 51: Hoare triple {1326#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1326#false} is VALID [2022-04-07 17:59:50,229 INFO L290 TraceCheckUtils]: 50: Hoare triple {1326#false} [164] L10-->L10-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[] {1326#false} is VALID [2022-04-07 17:59:50,230 INFO L290 TraceCheckUtils]: 49: Hoare triple {1326#false} [157] __VERIFIER_assertENTRY-->L10: 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] {1326#false} is VALID [2022-04-07 17:59:50,230 INFO L272 TraceCheckUtils]: 48: Hoare triple {1326#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1326#false} is VALID [2022-04-07 17:59:50,230 INFO L290 TraceCheckUtils]: 47: Hoare triple {1326#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1326#false} is VALID [2022-04-07 17:59:50,231 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1388#(<= |finddup_#in~n| 1)} {1356#(<= 2 main_~n~0)} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1326#false} is VALID [2022-04-07 17:59:50,232 INFO L290 TraceCheckUtils]: 45: Hoare triple {1388#(<= |finddup_#in~n| 1)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:50,232 INFO L290 TraceCheckUtils]: 44: Hoare triple {1388#(<= |finddup_#in~n| 1)} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:50,232 INFO L290 TraceCheckUtils]: 43: Hoare triple {1388#(<= |finddup_#in~n| 1)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:50,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {1388#(<= |finddup_#in~n| 1)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:50,233 INFO L290 TraceCheckUtils]: 41: Hoare triple {1583#(or (<= |finddup_#in~n| 1) (< finddup_~j~1 finddup_~n))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {1388#(<= |finddup_#in~n| 1)} is VALID [2022-04-07 17:59:50,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {1587#(or (<= |finddup_#in~n| 1) (< (+ finddup_~i~1 1) finddup_~n))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {1583#(or (<= |finddup_#in~n| 1) (< finddup_~j~1 finddup_~n))} is VALID [2022-04-07 17:59:50,234 INFO L290 TraceCheckUtils]: 39: Hoare triple {1325#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1587#(or (<= |finddup_#in~n| 1) (< (+ finddup_~i~1 1) finddup_~n))} is VALID [2022-04-07 17:59:50,234 INFO L272 TraceCheckUtils]: 38: Hoare triple {1356#(<= 2 main_~n~0)} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1325#true} is VALID [2022-04-07 17:59:50,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 2 main_~n~0)} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:50,235 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1382#(<= 2 |mkdup_#in~n|)} {1325#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1356#(<= 2 main_~n~0)} is VALID [2022-04-07 17:59:50,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:50,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {1382#(<= 2 |mkdup_#in~n|)} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:50,237 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1382#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-07 17:59:50,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:50,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {1618#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:50,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1618#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 17:59:50,238 INFO L272 TraceCheckUtils]: 29: Hoare triple {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:50,238 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1625#(or (and (or (<= mkdup_~n 0) (<= mkdup_~i~0 0)) (or (<= mkdup_~n 0) (<= mkdup_~n (+ mkdup_~i~0 1)))) (<= 2 |mkdup_#in~n|))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1377#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:50,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:50,239 INFO L290 TraceCheckUtils]: 26: Hoare triple {1618#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:50,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1618#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 17:59:50,240 INFO L272 TraceCheckUtils]: 24: Hoare triple {1625#(or (and (or (<= mkdup_~n 0) (<= mkdup_~i~0 0)) (or (<= mkdup_~n 0) (<= mkdup_~n (+ mkdup_~i~0 1)))) (<= 2 |mkdup_#in~n|))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1325#true} is VALID [2022-04-07 17:59:50,240 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} {1641#(or (<= mkdup_~n 1) (<= 2 |mkdup_#in~n|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1625#(or (and (or (<= mkdup_~n 0) (<= mkdup_~i~0 0)) (or (<= mkdup_~n 0) (<= mkdup_~n (+ mkdup_~i~0 1)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:50,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {1384#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:50,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {1618#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [136] L16-->L16-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[] {1384#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:50,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1618#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 17:59:50,241 INFO L272 TraceCheckUtils]: 19: Hoare triple {1641#(or (<= mkdup_~n 1) (<= 2 |mkdup_#in~n|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1325#true} is VALID [2022-04-07 17:59:50,242 INFO L290 TraceCheckUtils]: 18: Hoare triple {1325#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1641#(or (<= mkdup_~n 1) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:50,242 INFO L272 TraceCheckUtils]: 17: Hoare triple {1325#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1325#true} is VALID [2022-04-07 17:59:50,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {1325#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {1325#true} is VALID [2022-04-07 17:59:50,242 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1325#true} {1325#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1325#true} is VALID [2022-04-07 17:59:50,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {1325#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:50,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {1325#true} [138] #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] {1325#true} is VALID [2022-04-07 17:59:50,242 INFO L272 TraceCheckUtils]: 12: Hoare triple {1325#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {1325#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1325#true} {1325#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {1325#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {1325#true} [136] L16-->L16-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[] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {1325#true} [133] assume_abort_if_notENTRY-->L16: 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] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L272 TraceCheckUtils]: 6: Hoare triple {1325#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L290 TraceCheckUtils]: 5: Hoare triple {1325#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L272 TraceCheckUtils]: 4: Hoare triple {1325#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:50,243 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1325#true} {1325#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:50,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {1325#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:50,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {1325#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1325#true} is VALID [2022-04-07 17:59:50,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {1325#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1325#true} is VALID [2022-04-07 17:59:50,244 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 17:59:50,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1841998320] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 17:59:50,244 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-07 17:59:50,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [15, 12] total 25 [2022-04-07 17:59:50,245 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569022894] [2022-04-07 17:59:50,245 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 17:59:50,245 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 52 [2022-04-07 17:59:50,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:50,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 17:59:50,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:50,282 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 17:59:50,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:50,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 17:59:50,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=526, Unknown=0, NotChecked=0, Total=600 [2022-04-07 17:59:50,283 INFO L87 Difference]: Start difference. First operand 63 states and 74 transitions. Second operand has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 17:59:50,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:50,866 INFO L93 Difference]: Finished difference Result 80 states and 95 transitions. [2022-04-07 17:59:50,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 17:59:50,866 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 52 [2022-04-07 17:59:50,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:50,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 17:59:50,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-07 17:59:50,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 17:59:50,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-07 17:59:50,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 89 transitions. [2022-04-07 17:59:50,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:50,948 INFO L225 Difference]: With dead ends: 80 [2022-04-07 17:59:50,948 INFO L226 Difference]: Without dead ends: 70 [2022-04-07 17:59:50,948 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 106 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=86, Invalid=616, Unknown=0, NotChecked=0, Total=702 [2022-04-07 17:59:50,949 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 45 mSDsluCounter, 329 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 387 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:50,950 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 387 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 17:59:50,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-07 17:59:50,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2022-04-07 17:59:50,954 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:50,954 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:50,954 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:50,955 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:50,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:50,958 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-07 17:59:50,958 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-07 17:59:50,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:50,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:50,959 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 70 states. [2022-04-07 17:59:50,959 INFO L87 Difference]: Start difference. First operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 70 states. [2022-04-07 17:59:50,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:50,962 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-07 17:59:50,962 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-07 17:59:50,963 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:50,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:50,963 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:50,963 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:50,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:50,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 75 transitions. [2022-04-07 17:59:50,966 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 75 transitions. Word has length 52 [2022-04-07 17:59:50,966 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:50,966 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 75 transitions. [2022-04-07 17:59:50,966 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 17:59:50,966 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 75 transitions. [2022-04-07 17:59:50,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-07 17:59:50,967 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:50,967 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 17:59:50,993 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 17:59:51,187 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-07 17:59:51,188 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:51,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:51,188 INFO L85 PathProgramCache]: Analyzing trace with hash -58927682, now seen corresponding path program 1 times [2022-04-07 17:59:51,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:51,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1709849103] [2022-04-07 17:59:51,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:51,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:51,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:51,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {2040#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1998#true} is VALID [2022-04-07 17:59:51,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,232 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1998#true} {1998#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,232 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:51,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,238 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:51,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,240 INFO L290 TraceCheckUtils]: 0: Hoare triple {2041#(= |#memory_int| |old(#memory_int)|)} [138] #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] {1998#true} is VALID [2022-04-07 17:59:51,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,241 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1998#true} {1998#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1998#true} is VALID [2022-04-07 17:59:51,241 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:51,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,249 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:51,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,252 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:51,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:51,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {2041#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,258 INFO L272 TraceCheckUtils]: 1: Hoare triple {1998#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L290 TraceCheckUtils]: 3: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L290 TraceCheckUtils]: 4: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1998#true} {1998#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,259 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L272 TraceCheckUtils]: 11: Hoare triple {1998#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L290 TraceCheckUtils]: 12: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1998#true} {1998#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L290 TraceCheckUtils]: 16: Hoare triple {1998#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L290 TraceCheckUtils]: 17: Hoare triple {1998#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1998#true} {1998#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,260 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:51,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,290 INFO L290 TraceCheckUtils]: 0: Hoare triple {2041#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1998#true} is VALID [2022-04-07 17:59:51,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 17:59:51,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,292 INFO L290 TraceCheckUtils]: 3: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,292 INFO L290 TraceCheckUtils]: 4: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,293 INFO L290 TraceCheckUtils]: 6: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {2056#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-07 17:59:51,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {2056#(<= (+ finddup_~i~1 1) finddup_~n)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {1999#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1999#false} is VALID [2022-04-07 17:59:51,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {1999#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1999#false} {1998#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1999#false} is VALID [2022-04-07 17:59:51,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2040#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:51,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {2040#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,296 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,296 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {1998#true} is VALID [2022-04-07 17:59:51,299 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {2041#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:51,299 INFO L290 TraceCheckUtils]: 13: Hoare triple {2041#(= |#memory_int| |old(#memory_int)|)} [138] #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] {1998#true} is VALID [2022-04-07 17:59:51,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,299 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1998#true} {1998#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1998#true} is VALID [2022-04-07 17:59:51,299 INFO L290 TraceCheckUtils]: 16: Hoare triple {1998#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,300 INFO L272 TraceCheckUtils]: 17: Hoare triple {1998#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {2041#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:51,300 INFO L290 TraceCheckUtils]: 18: Hoare triple {2041#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,300 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,300 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L272 TraceCheckUtils]: 24: Hoare triple {1998#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1998#true} {1998#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L272 TraceCheckUtils]: 29: Hoare triple {1998#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L290 TraceCheckUtils]: 31: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,301 INFO L290 TraceCheckUtils]: 32: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,302 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1998#true} {1998#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,302 INFO L290 TraceCheckUtils]: 34: Hoare triple {1998#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1998#true} is VALID [2022-04-07 17:59:51,302 INFO L290 TraceCheckUtils]: 35: Hoare triple {1998#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,302 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1998#true} {1998#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,302 INFO L290 TraceCheckUtils]: 37: Hoare triple {1998#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {1998#true} is VALID [2022-04-07 17:59:51,303 INFO L272 TraceCheckUtils]: 38: Hoare triple {1998#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {2041#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:51,303 INFO L290 TraceCheckUtils]: 39: Hoare triple {2041#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1998#true} is VALID [2022-04-07 17:59:51,304 INFO L290 TraceCheckUtils]: 40: Hoare triple {1998#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 17:59:51,304 INFO L290 TraceCheckUtils]: 41: Hoare triple {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,305 INFO L290 TraceCheckUtils]: 42: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,305 INFO L290 TraceCheckUtils]: 43: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,305 INFO L290 TraceCheckUtils]: 44: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,306 INFO L290 TraceCheckUtils]: 45: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {2056#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-07 17:59:51,306 INFO L290 TraceCheckUtils]: 46: Hoare triple {2056#(<= (+ finddup_~i~1 1) finddup_~n)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,306 INFO L290 TraceCheckUtils]: 47: Hoare triple {1999#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L290 TraceCheckUtils]: 48: Hoare triple {1999#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {1999#false} {1998#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L290 TraceCheckUtils]: 50: Hoare triple {1999#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L272 TraceCheckUtils]: 51: Hoare triple {1999#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L290 TraceCheckUtils]: 52: Hoare triple {1999#false} [157] __VERIFIER_assertENTRY-->L10: 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] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L290 TraceCheckUtils]: 53: Hoare triple {1999#false} [164] L10-->L10-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[] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L290 TraceCheckUtils]: 54: Hoare triple {1999#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,307 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:51,308 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:51,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1709849103] [2022-04-07 17:59:51,308 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1709849103] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 17:59:51,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [468325670] [2022-04-07 17:59:51,308 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:51,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:51,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 17:59:51,309 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 17:59:51,337 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-07 17:59:51,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,388 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-07 17:59:51,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:51,405 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 17:59:51,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1998#true} is VALID [2022-04-07 17:59:51,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,555 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,555 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} [138] #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] {1998#true} is VALID [2022-04-07 17:59:51,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1998#true} {1998#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {1998#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L272 TraceCheckUtils]: 17: Hoare triple {1998#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L290 TraceCheckUtils]: 18: Hoare triple {1998#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,557 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L272 TraceCheckUtils]: 24: Hoare triple {1998#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1998#true} {1998#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L272 TraceCheckUtils]: 29: Hoare triple {1998#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L290 TraceCheckUtils]: 30: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L290 TraceCheckUtils]: 31: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,558 INFO L290 TraceCheckUtils]: 32: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1998#true} {1998#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L290 TraceCheckUtils]: 34: Hoare triple {1998#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L290 TraceCheckUtils]: 35: Hoare triple {1998#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1998#true} {1998#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L290 TraceCheckUtils]: 37: Hoare triple {1998#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L272 TraceCheckUtils]: 38: Hoare triple {1998#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1998#true} is VALID [2022-04-07 17:59:51,559 INFO L290 TraceCheckUtils]: 39: Hoare triple {1998#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1998#true} is VALID [2022-04-07 17:59:51,560 INFO L290 TraceCheckUtils]: 40: Hoare triple {1998#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 17:59:51,561 INFO L290 TraceCheckUtils]: 41: Hoare triple {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,561 INFO L290 TraceCheckUtils]: 42: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,562 INFO L290 TraceCheckUtils]: 43: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {2056#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-07 17:59:51,563 INFO L290 TraceCheckUtils]: 46: Hoare triple {2056#(<= (+ finddup_~i~1 1) finddup_~n)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,563 INFO L290 TraceCheckUtils]: 47: Hoare triple {1999#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1999#false} is VALID [2022-04-07 17:59:51,563 INFO L290 TraceCheckUtils]: 48: Hoare triple {1999#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,563 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {1999#false} {1998#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1999#false} is VALID [2022-04-07 17:59:51,563 INFO L290 TraceCheckUtils]: 50: Hoare triple {1999#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1999#false} is VALID [2022-04-07 17:59:51,564 INFO L272 TraceCheckUtils]: 51: Hoare triple {1999#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1999#false} is VALID [2022-04-07 17:59:51,564 INFO L290 TraceCheckUtils]: 52: Hoare triple {1999#false} [157] __VERIFIER_assertENTRY-->L10: 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] {1999#false} is VALID [2022-04-07 17:59:51,564 INFO L290 TraceCheckUtils]: 53: Hoare triple {1999#false} [164] L10-->L10-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[] {1999#false} is VALID [2022-04-07 17:59:51,564 INFO L290 TraceCheckUtils]: 54: Hoare triple {1999#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,564 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:51,564 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 17:59:51,782 INFO L290 TraceCheckUtils]: 54: Hoare triple {1999#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L290 TraceCheckUtils]: 53: Hoare triple {1999#false} [164] L10-->L10-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[] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L290 TraceCheckUtils]: 52: Hoare triple {1999#false} [157] __VERIFIER_assertENTRY-->L10: 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] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L272 TraceCheckUtils]: 51: Hoare triple {1999#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L290 TraceCheckUtils]: 50: Hoare triple {1999#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {1999#false} {1998#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L290 TraceCheckUtils]: 48: Hoare triple {1999#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,783 INFO L290 TraceCheckUtils]: 47: Hoare triple {1999#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {1999#false} is VALID [2022-04-07 17:59:51,784 INFO L290 TraceCheckUtils]: 46: Hoare triple {2056#(<= (+ finddup_~i~1 1) finddup_~n)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {1999#false} is VALID [2022-04-07 17:59:51,784 INFO L290 TraceCheckUtils]: 45: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {2056#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-07 17:59:51,785 INFO L290 TraceCheckUtils]: 44: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,786 INFO L290 TraceCheckUtils]: 42: Hoare triple {2055#(<= (+ finddup_~i~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,786 INFO L290 TraceCheckUtils]: 41: Hoare triple {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2055#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 17:59:51,787 INFO L290 TraceCheckUtils]: 40: Hoare triple {1998#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2054#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 17:59:51,787 INFO L290 TraceCheckUtils]: 39: Hoare triple {1998#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {1998#true} is VALID [2022-04-07 17:59:51,787 INFO L272 TraceCheckUtils]: 38: Hoare triple {1998#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {1998#true} is VALID [2022-04-07 17:59:51,787 INFO L290 TraceCheckUtils]: 37: Hoare triple {1998#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {1998#true} is VALID [2022-04-07 17:59:51,787 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1998#true} {1998#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L290 TraceCheckUtils]: 35: Hoare triple {1998#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L290 TraceCheckUtils]: 34: Hoare triple {1998#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1998#true} {1998#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L290 TraceCheckUtils]: 30: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L272 TraceCheckUtils]: 29: Hoare triple {1998#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1998#true} {1998#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,788 INFO L290 TraceCheckUtils]: 27: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L272 TraceCheckUtils]: 24: Hoare triple {1998#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1998#true} {1998#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L290 TraceCheckUtils]: 22: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L290 TraceCheckUtils]: 21: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L272 TraceCheckUtils]: 19: Hoare triple {1998#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L290 TraceCheckUtils]: 18: Hoare triple {1998#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {1998#true} is VALID [2022-04-07 17:59:51,789 INFO L272 TraceCheckUtils]: 17: Hoare triple {1998#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L290 TraceCheckUtils]: 16: Hoare triple {1998#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1998#true} {1998#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L290 TraceCheckUtils]: 14: Hoare triple {1998#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L290 TraceCheckUtils]: 13: Hoare triple {1998#true} [138] #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] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L272 TraceCheckUtils]: 12: Hoare triple {1998#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L290 TraceCheckUtils]: 11: Hoare triple {1998#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1998#true} {1998#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {1998#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {1998#true} [136] L16-->L16-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[] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L290 TraceCheckUtils]: 7: Hoare triple {1998#true} [133] assume_abort_if_notENTRY-->L16: 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] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L272 TraceCheckUtils]: 6: Hoare triple {1998#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L290 TraceCheckUtils]: 5: Hoare triple {1998#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {1998#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1998#true} {1998#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {1998#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {1998#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {1998#true} is VALID [2022-04-07 17:59:51,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {1998#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1998#true} is VALID [2022-04-07 17:59:51,792 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:51,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [468325670] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 17:59:51,792 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 17:59:51,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 7 [2022-04-07 17:59:51,792 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [305214715] [2022-04-07 17:59:51,792 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 17:59:51,793 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 55 [2022-04-07 17:59:51,796 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:51,796 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:51,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:51,831 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-07 17:59:51,831 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:51,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-07 17:59:51,831 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-07 17:59:51,832 INFO L87 Difference]: Start difference. First operand 64 states and 75 transitions. Second operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:52,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:52,402 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2022-04-07 17:59:52,402 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 17:59:52,402 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 55 [2022-04-07 17:59:52,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:52,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:52,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-07 17:59:52,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:52,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-07 17:59:52,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-07 17:59:52,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:52,491 INFO L225 Difference]: With dead ends: 67 [2022-04-07 17:59:52,491 INFO L226 Difference]: Without dead ends: 67 [2022-04-07 17:59:52,492 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 125 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=85, Unknown=0, NotChecked=0, Total=132 [2022-04-07 17:59:52,492 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 65 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 53 SdHoareTripleChecker+Invalid, 276 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:52,492 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 53 Invalid, 276 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 228 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 17:59:52,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-07 17:59:52,496 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-04-07 17:59:52,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:52,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:52,497 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:52,497 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:52,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:52,500 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2022-04-07 17:59:52,500 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 79 transitions. [2022-04-07 17:59:52,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:52,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:52,501 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 67 states. [2022-04-07 17:59:52,501 INFO L87 Difference]: Start difference. First operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 67 states. [2022-04-07 17:59:52,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:52,504 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2022-04-07 17:59:52,504 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 79 transitions. [2022-04-07 17:59:52,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:52,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:52,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:52,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:52,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-07 17:59:52,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 79 transitions. [2022-04-07 17:59:52,507 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 79 transitions. Word has length 55 [2022-04-07 17:59:52,507 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:52,507 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 79 transitions. [2022-04-07 17:59:52,507 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.571428571428571) internal successors, (32), 5 states have internal predecessors, (32), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 17:59:52,507 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 79 transitions. [2022-04-07 17:59:52,508 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-07 17:59:52,508 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:52,508 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-07 17:59:52,532 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 17:59:52,725 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:52,726 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:52,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:52,726 INFO L85 PathProgramCache]: Analyzing trace with hash 925124550, now seen corresponding path program 1 times [2022-04-07 17:59:52,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:52,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914328927] [2022-04-07 17:59:52,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:52,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:52,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:52,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,882 INFO L290 TraceCheckUtils]: 0: Hoare triple {2714#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {2665#true} is VALID [2022-04-07 17:59:52,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,882 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2665#true} {2665#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,882 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:52,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,885 INFO L290 TraceCheckUtils]: 0: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2665#true} {2665#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {2665#true} is VALID [2022-04-07 17:59:52,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:52,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,897 INFO L290 TraceCheckUtils]: 0: Hoare triple {2715#(= |#memory_int| |old(#memory_int)|)} [138] #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] {2665#true} is VALID [2022-04-07 17:59:52,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,897 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2665#true} {2665#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {2665#true} is VALID [2022-04-07 17:59:52,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:52,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,906 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:52,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2665#true} {2665#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,910 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:52,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,913 INFO L290 TraceCheckUtils]: 0: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,914 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2665#true} {2665#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:52,914 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:52,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:52,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2665#true} {2665#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {2715#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,917 INFO L272 TraceCheckUtils]: 1: Hoare triple {2665#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L290 TraceCheckUtils]: 3: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L290 TraceCheckUtils]: 4: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2665#true} {2665#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L272 TraceCheckUtils]: 6: Hoare triple {2665#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L290 TraceCheckUtils]: 7: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2665#true} {2665#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:52,918 INFO L272 TraceCheckUtils]: 11: Hoare triple {2665#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L290 TraceCheckUtils]: 12: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L290 TraceCheckUtils]: 13: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L290 TraceCheckUtils]: 14: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2665#true} {2665#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {2665#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {2665#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2665#true} {2665#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {2665#true} is VALID [2022-04-07 17:59:52,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:52,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:53,067 INFO L290 TraceCheckUtils]: 0: Hoare triple {2715#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {2728#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:53,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {2728#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2729#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:53,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {2729#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2730#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:53,070 INFO L290 TraceCheckUtils]: 3: Hoare triple {2730#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-07 17:59:53,070 INFO L290 TraceCheckUtils]: 4: Hoare triple {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-07 17:59:53,072 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} {2696#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {2703#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0)) (<= 2 main_~n~0))} is VALID [2022-04-07 17:59:53,072 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-07 17:59:53,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:53,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {2665#true} [157] __VERIFIER_assertENTRY-->L10: 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] {2732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 17:59:53,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {2732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:53,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:53,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} {2704#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {2709#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 main_~n~0))} is VALID [2022-04-07 17:59:53,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {2665#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2714#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:53,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {2714#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2665#true} {2665#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {2665#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {2665#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {2665#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2665#true} {2665#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {2665#true} is VALID [2022-04-07 17:59:53,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {2665#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {2665#true} is VALID [2022-04-07 17:59:53,098 INFO L272 TraceCheckUtils]: 12: Hoare triple {2665#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {2715#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:53,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {2715#(= |#memory_int| |old(#memory_int)|)} [138] #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] {2665#true} is VALID [2022-04-07 17:59:53,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {2665#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,098 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2665#true} {2665#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {2665#true} is VALID [2022-04-07 17:59:53,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {2665#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {2665#true} is VALID [2022-04-07 17:59:53,099 INFO L272 TraceCheckUtils]: 17: Hoare triple {2665#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {2715#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:53,099 INFO L290 TraceCheckUtils]: 18: Hoare triple {2715#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,099 INFO L272 TraceCheckUtils]: 19: Hoare triple {2665#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,099 INFO L290 TraceCheckUtils]: 20: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,099 INFO L290 TraceCheckUtils]: 21: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,099 INFO L290 TraceCheckUtils]: 22: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,099 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2665#true} {2665#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L272 TraceCheckUtils]: 24: Hoare triple {2665#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2665#true} {2665#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L272 TraceCheckUtils]: 29: Hoare triple {2665#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 31: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 32: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2665#true} {2665#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {2665#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {2665#true} is VALID [2022-04-07 17:59:53,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {2665#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,101 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2665#true} {2665#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {2665#true} is VALID [2022-04-07 17:59:53,101 INFO L290 TraceCheckUtils]: 37: Hoare triple {2665#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {2696#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-07 17:59:53,103 INFO L272 TraceCheckUtils]: 38: Hoare triple {2696#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {2715#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:53,104 INFO L290 TraceCheckUtils]: 39: Hoare triple {2715#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {2728#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:53,104 INFO L290 TraceCheckUtils]: 40: Hoare triple {2728#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2729#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:53,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {2729#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2730#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:53,106 INFO L290 TraceCheckUtils]: 42: Hoare triple {2730#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-07 17:59:53,107 INFO L290 TraceCheckUtils]: 43: Hoare triple {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-07 17:59:53,109 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2731#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} {2696#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {2703#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0)) (<= 2 main_~n~0))} is VALID [2022-04-07 17:59:53,109 INFO L290 TraceCheckUtils]: 45: Hoare triple {2703#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0)) (<= 2 main_~n~0))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {2704#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} is VALID [2022-04-07 17:59:53,110 INFO L272 TraceCheckUtils]: 46: Hoare triple {2704#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {2665#true} is VALID [2022-04-07 17:59:53,110 INFO L290 TraceCheckUtils]: 47: Hoare triple {2665#true} [157] __VERIFIER_assertENTRY-->L10: 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] {2732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 17:59:53,110 INFO L290 TraceCheckUtils]: 48: Hoare triple {2732#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:53,111 INFO L290 TraceCheckUtils]: 49: Hoare triple {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:53,112 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} {2704#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {2709#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 main_~n~0))} is VALID [2022-04-07 17:59:53,113 INFO L290 TraceCheckUtils]: 51: Hoare triple {2709#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 main_~n~0))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {2710#(<= (+ 2 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0)} is VALID [2022-04-07 17:59:53,113 INFO L290 TraceCheckUtils]: 52: Hoare triple {2710#(<= (+ 2 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0)} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {2711#|main_#t~short17|} is VALID [2022-04-07 17:59:53,114 INFO L272 TraceCheckUtils]: 53: Hoare triple {2711#|main_#t~short17|} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:53,114 INFO L290 TraceCheckUtils]: 54: Hoare triple {2712#(not (= |__VERIFIER_assert_#in~cond| 0))} [157] __VERIFIER_assertENTRY-->L10: 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] {2713#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 17:59:53,115 INFO L290 TraceCheckUtils]: 55: Hoare triple {2713#(not (= __VERIFIER_assert_~cond 0))} [164] L10-->L10-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[] {2666#false} is VALID [2022-04-07 17:59:53,115 INFO L290 TraceCheckUtils]: 56: Hoare triple {2666#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2666#false} is VALID [2022-04-07 17:59:53,115 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:53,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:53,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914328927] [2022-04-07 17:59:53,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1914328927] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 17:59:53,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1645052931] [2022-04-07 17:59:53,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:53,116 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:53,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 17:59:53,117 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 17:59:53,118 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-07 17:59:53,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:53,196 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-07 17:59:53,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:53,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 17:59:53,318 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 10 treesize of output 8 [2022-04-07 17:59:53,555 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 14 [2022-04-07 17:59:53,567 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-04-07 17:59:53,567 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 16 treesize of output 22 [2022-04-07 17:59:53,575 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 7 treesize of output 5 [2022-04-07 17:59:53,794 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 17 treesize of output 9 [2022-04-07 17:59:53,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {2665#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {2665#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {2665#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2665#true} {2665#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {2665#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {2665#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L272 TraceCheckUtils]: 6: Hoare triple {2665#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L290 TraceCheckUtils]: 7: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2665#true} {2665#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {2665#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L272 TraceCheckUtils]: 12: Hoare triple {2665#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {2665#true} [138] #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] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {2665#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2665#true} {2665#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {2665#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {2665#true} is VALID [2022-04-07 17:59:53,886 INFO L272 TraceCheckUtils]: 17: Hoare triple {2665#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {2665#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L272 TraceCheckUtils]: 19: Hoare triple {2665#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L290 TraceCheckUtils]: 22: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2665#true} {2665#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L272 TraceCheckUtils]: 24: Hoare triple {2665#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:53,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2665#true} {2665#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L272 TraceCheckUtils]: 29: Hoare triple {2665#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 30: Hoare triple {2665#true} [133] assume_abort_if_notENTRY-->L16: 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] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 31: Hoare triple {2665#true} [136] L16-->L16-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[] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 32: Hoare triple {2665#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2665#true} {2665#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {2665#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {2665#true} is VALID [2022-04-07 17:59:53,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {2665#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,889 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2665#true} {2665#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {2665#true} is VALID [2022-04-07 17:59:53,889 INFO L290 TraceCheckUtils]: 37: Hoare triple {2665#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {2847#(and (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 17:59:53,889 INFO L272 TraceCheckUtils]: 38: Hoare triple {2847#(and (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {2665#true} is VALID [2022-04-07 17:59:53,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {2665#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {2854#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base) (<= finddup_~n |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 17:59:53,890 INFO L290 TraceCheckUtils]: 40: Hoare triple {2854#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base) (<= finddup_~n |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {2858#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (<= finddup_~n |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 17:59:53,891 INFO L290 TraceCheckUtils]: 41: Hoare triple {2858#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (<= finddup_~n |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {2862#(and (= |finddup_#in~_j.base| finddup_~_j.base) (< (+ finddup_~i~1 1) |finddup_#in~n|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 17:59:53,892 INFO L290 TraceCheckUtils]: 42: Hoare triple {2862#(and (= |finddup_#in~_j.base| finddup_~_j.base) (< (+ finddup_~i~1 1) |finddup_#in~n|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {2866#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (< (+ (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 1) |finddup_#in~n|))} is VALID [2022-04-07 17:59:53,892 INFO L290 TraceCheckUtils]: 43: Hoare triple {2866#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (< (+ (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 1) |finddup_#in~n|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2866#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (< (+ (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 1) |finddup_#in~n|))} is VALID [2022-04-07 17:59:53,894 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2866#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (< (+ (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 1) |finddup_#in~n|))} {2847#(and (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 17:59:53,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 17:59:53,894 INFO L272 TraceCheckUtils]: 46: Hoare triple {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {2665#true} is VALID [2022-04-07 17:59:53,895 INFO L290 TraceCheckUtils]: 47: Hoare triple {2665#true} [157] __VERIFIER_assertENTRY-->L10: 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] {2665#true} is VALID [2022-04-07 17:59:53,895 INFO L290 TraceCheckUtils]: 48: Hoare triple {2665#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,895 INFO L290 TraceCheckUtils]: 49: Hoare triple {2665#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2665#true} is VALID [2022-04-07 17:59:53,895 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2665#true} {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 17:59:53,896 INFO L290 TraceCheckUtils]: 51: Hoare triple {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 17:59:53,896 INFO L290 TraceCheckUtils]: 52: Hoare triple {2873#(and (< (+ 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0) (= |main_~#i~2.offset| 0))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {2711#|main_#t~short17|} is VALID [2022-04-07 17:59:53,897 INFO L272 TraceCheckUtils]: 53: Hoare triple {2711#|main_#t~short17|} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {2901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 17:59:53,897 INFO L290 TraceCheckUtils]: 54: Hoare triple {2901#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {2905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 17:59:53,898 INFO L290 TraceCheckUtils]: 55: Hoare triple {2905#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {2666#false} is VALID [2022-04-07 17:59:53,898 INFO L290 TraceCheckUtils]: 56: Hoare triple {2666#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2666#false} is VALID [2022-04-07 17:59:53,898 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:53,898 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 17:59:53,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1645052931] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 17:59:53,899 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 17:59:53,899 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [17] total 25 [2022-04-07 17:59:53,899 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270892775] [2022-04-07 17:59:53,899 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 17:59:53,899 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-07 17:59:53,900 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:53,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:53,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:53,936 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 17:59:53,936 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:53,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 17:59:53,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=543, Unknown=0, NotChecked=0, Total=600 [2022-04-07 17:59:53,937 INFO L87 Difference]: Start difference. First operand 67 states and 79 transitions. Second operand has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:54,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:54,651 INFO L93 Difference]: Finished difference Result 83 states and 100 transitions. [2022-04-07 17:59:54,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 17:59:54,651 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-07 17:59:54,651 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:54,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:54,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 95 transitions. [2022-04-07 17:59:54,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:54,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 95 transitions. [2022-04-07 17:59:54,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 95 transitions. [2022-04-07 17:59:54,735 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-07 17:59:54,737 INFO L225 Difference]: With dead ends: 83 [2022-04-07 17:59:54,737 INFO L226 Difference]: Without dead ends: 83 [2022-04-07 17:59:54,737 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=781, Unknown=0, NotChecked=0, Total=870 [2022-04-07 17:59:54,738 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 44 mSDsluCounter, 422 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 478 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:54,738 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 478 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 17:59:54,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-07 17:59:54,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 74. [2022-04-07 17:59:54,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:54,743 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-07 17:59:54,743 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-07 17:59:54,743 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-07 17:59:54,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:54,747 INFO L93 Difference]: Finished difference Result 83 states and 100 transitions. [2022-04-07 17:59:54,747 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 100 transitions. [2022-04-07 17:59:54,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:54,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:54,747 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) Second operand 83 states. [2022-04-07 17:59:54,748 INFO L87 Difference]: Start difference. First operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) Second operand 83 states. [2022-04-07 17:59:54,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:54,751 INFO L93 Difference]: Finished difference Result 83 states and 100 transitions. [2022-04-07 17:59:54,751 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 100 transitions. [2022-04-07 17:59:54,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:54,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:54,751 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:54,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:54,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-07 17:59:54,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 87 transitions. [2022-04-07 17:59:54,754 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 87 transitions. Word has length 57 [2022-04-07 17:59:54,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:54,754 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 87 transitions. [2022-04-07 17:59:54,754 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:54,755 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 87 transitions. [2022-04-07 17:59:54,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-07 17:59:54,755 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:54,755 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-07 17:59:54,779 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-07 17:59:54,971 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:54,972 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:54,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:54,972 INFO L85 PathProgramCache]: Analyzing trace with hash 926048071, now seen corresponding path program 1 times [2022-04-07 17:59:54,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:54,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [903376910] [2022-04-07 17:59:54,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:54,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:55,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,079 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:55,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {3290#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {3244#true} is VALID [2022-04-07 17:59:55,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {3244#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,085 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3244#true} {3244#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:55,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,088 INFO L290 TraceCheckUtils]: 0: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3244#true} {3244#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3244#true} is VALID [2022-04-07 17:59:55,093 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:55,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,096 INFO L290 TraceCheckUtils]: 0: Hoare triple {3291#(= |#memory_int| |old(#memory_int)|)} [138] #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] {3244#true} is VALID [2022-04-07 17:59:55,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {3244#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,097 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3244#true} {3244#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3244#true} is VALID [2022-04-07 17:59:55,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:55,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:55,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3244#true} {3244#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:55,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3244#true} {3244#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3244#true} is VALID [2022-04-07 17:59:55,112 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:55,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,115 INFO L290 TraceCheckUtils]: 0: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3244#true} {3244#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,115 INFO L290 TraceCheckUtils]: 0: Hoare triple {3291#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,115 INFO L272 TraceCheckUtils]: 1: Hoare triple {3244#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L290 TraceCheckUtils]: 3: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L290 TraceCheckUtils]: 4: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3244#true} {3244#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L272 TraceCheckUtils]: 6: Hoare triple {3244#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3244#true} {3244#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3244#true} is VALID [2022-04-07 17:59:55,116 INFO L272 TraceCheckUtils]: 11: Hoare triple {3244#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L290 TraceCheckUtils]: 12: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L290 TraceCheckUtils]: 13: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3244#true} {3244#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {3244#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {3244#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3244#true} {3244#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3244#true} is VALID [2022-04-07 17:59:55,117 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:55,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {3291#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:55,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:55,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:55,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-07 17:59:55,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-07 17:59:55,175 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} {3275#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3282#(or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-07 17:59:55,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-07 17:59:55,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:55,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {3244#true} [157] __VERIFIER_assertENTRY-->L10: 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] {3306#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 17:59:55,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {3306#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:55,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:55,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} {3283#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {3288#(= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-07 17:59:55,211 INFO L272 TraceCheckUtils]: 0: Hoare triple {3244#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3290#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:55,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {3290#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {3244#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3244#true} {3244#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {3244#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {3244#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L272 TraceCheckUtils]: 6: Hoare triple {3244#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3244#true} {3244#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3244#true} is VALID [2022-04-07 17:59:55,212 INFO L290 TraceCheckUtils]: 11: Hoare triple {3244#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {3244#true} is VALID [2022-04-07 17:59:55,212 INFO L272 TraceCheckUtils]: 12: Hoare triple {3244#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3291#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:55,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {3291#(= |#memory_int| |old(#memory_int)|)} [138] #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] {3244#true} is VALID [2022-04-07 17:59:55,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {3244#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,213 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3244#true} {3244#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3244#true} is VALID [2022-04-07 17:59:55,213 INFO L290 TraceCheckUtils]: 16: Hoare triple {3244#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {3244#true} is VALID [2022-04-07 17:59:55,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {3244#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3291#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {3291#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L272 TraceCheckUtils]: 19: Hoare triple {3244#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 21: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 22: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3244#true} {3244#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L272 TraceCheckUtils]: 24: Hoare triple {3244#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3244#true} {3244#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L272 TraceCheckUtils]: 29: Hoare triple {3244#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {3244#true} [133] assume_abort_if_notENTRY-->L16: 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] {3244#true} is VALID [2022-04-07 17:59:55,214 INFO L290 TraceCheckUtils]: 31: Hoare triple {3244#true} [136] L16-->L16-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[] {3244#true} is VALID [2022-04-07 17:59:55,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {3244#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,215 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3244#true} {3244#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3244#true} is VALID [2022-04-07 17:59:55,215 INFO L290 TraceCheckUtils]: 34: Hoare triple {3244#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {3244#true} is VALID [2022-04-07 17:59:55,215 INFO L290 TraceCheckUtils]: 35: Hoare triple {3244#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3244#true} is VALID [2022-04-07 17:59:55,215 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3244#true} {3244#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3244#true} is VALID [2022-04-07 17:59:55,217 INFO L290 TraceCheckUtils]: 37: Hoare triple {3244#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {3275#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-07 17:59:55,219 INFO L272 TraceCheckUtils]: 38: Hoare triple {3275#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3291#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:55,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {3291#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:55,220 INFO L290 TraceCheckUtils]: 40: Hoare triple {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:55,220 INFO L290 TraceCheckUtils]: 41: Hoare triple {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 17:59:55,221 INFO L290 TraceCheckUtils]: 42: Hoare triple {3304#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-07 17:59:55,221 INFO L290 TraceCheckUtils]: 43: Hoare triple {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-07 17:59:55,223 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3305#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} {3275#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3282#(or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-07 17:59:55,223 INFO L290 TraceCheckUtils]: 45: Hoare triple {3282#(or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {3283#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 17:59:55,223 INFO L272 TraceCheckUtils]: 46: Hoare triple {3283#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {3244#true} is VALID [2022-04-07 17:59:55,223 INFO L290 TraceCheckUtils]: 47: Hoare triple {3244#true} [157] __VERIFIER_assertENTRY-->L10: 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] {3306#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 17:59:55,224 INFO L290 TraceCheckUtils]: 48: Hoare triple {3306#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:55,224 INFO L290 TraceCheckUtils]: 49: Hoare triple {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 17:59:55,224 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3307#(not (= |__VERIFIER_assert_#in~cond| 0))} {3283#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {3288#(= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-07 17:59:55,225 INFO L290 TraceCheckUtils]: 51: Hoare triple {3288#(= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {3289#|main_#t~short17|} is VALID [2022-04-07 17:59:55,225 INFO L290 TraceCheckUtils]: 52: Hoare triple {3289#|main_#t~short17|} [163] L60-->L60-2: Formula: (not |v_main_#t~short17_4|) InVars {main_#t~short17=|v_main_#t~short17_4|} OutVars{main_#t~short17=|v_main_#t~short17_4|} AuxVars[] AssignedVars[] {3245#false} is VALID [2022-04-07 17:59:55,225 INFO L272 TraceCheckUtils]: 53: Hoare triple {3245#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {3245#false} is VALID [2022-04-07 17:59:55,225 INFO L290 TraceCheckUtils]: 54: Hoare triple {3245#false} [157] __VERIFIER_assertENTRY-->L10: 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] {3245#false} is VALID [2022-04-07 17:59:55,225 INFO L290 TraceCheckUtils]: 55: Hoare triple {3245#false} [164] L10-->L10-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[] {3245#false} is VALID [2022-04-07 17:59:55,226 INFO L290 TraceCheckUtils]: 56: Hoare triple {3245#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3245#false} is VALID [2022-04-07 17:59:55,226 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 17:59:55,226 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:55,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [903376910] [2022-04-07 17:59:55,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [903376910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 17:59:55,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 17:59:55,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-07 17:59:55,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [388336227] [2022-04-07 17:59:55,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 17:59:55,227 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-07 17:59:55,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 17:59:55,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:55,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:55,262 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-07 17:59:55,262 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 17:59:55,263 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-07 17:59:55,263 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=131, Unknown=0, NotChecked=0, Total=156 [2022-04-07 17:59:55,263 INFO L87 Difference]: Start difference. First operand 74 states and 87 transitions. Second operand has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:56,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:56,561 INFO L93 Difference]: Finished difference Result 92 states and 112 transitions. [2022-04-07 17:59:56,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 17:59:56,562 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-07 17:59:56,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 17:59:56,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:56,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 94 transitions. [2022-04-07 17:59:56,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:56,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 94 transitions. [2022-04-07 17:59:56,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 94 transitions. [2022-04-07 17:59:56,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 17:59:56,671 INFO L225 Difference]: With dead ends: 92 [2022-04-07 17:59:56,672 INFO L226 Difference]: Without dead ends: 92 [2022-04-07 17:59:56,672 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=83, Invalid=379, Unknown=0, NotChecked=0, Total=462 [2022-04-07 17:59:56,673 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 105 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 578 mSolverCounterSat, 93 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 671 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 93 IncrementalHoareTripleChecker+Valid, 578 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-07 17:59:56,673 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [106 Valid, 56 Invalid, 671 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [93 Valid, 578 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-07 17:59:56,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-07 17:59:56,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 83. [2022-04-07 17:59:56,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 17:59:56,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 17:59:56,678 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 17:59:56,679 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 17:59:56,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:56,682 INFO L93 Difference]: Finished difference Result 92 states and 112 transitions. [2022-04-07 17:59:56,682 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 112 transitions. [2022-04-07 17:59:56,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:56,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:56,683 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 92 states. [2022-04-07 17:59:56,683 INFO L87 Difference]: Start difference. First operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 92 states. [2022-04-07 17:59:56,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 17:59:56,686 INFO L93 Difference]: Finished difference Result 92 states and 112 transitions. [2022-04-07 17:59:56,686 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 112 transitions. [2022-04-07 17:59:56,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 17:59:56,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 17:59:56,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 17:59:56,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 17:59:56,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 17:59:56,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 99 transitions. [2022-04-07 17:59:56,690 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 99 transitions. Word has length 57 [2022-04-07 17:59:56,690 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 17:59:56,690 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 99 transitions. [2022-04-07 17:59:56,690 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 17:59:56,690 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 99 transitions. [2022-04-07 17:59:56,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 17:59:56,691 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 17:59:56,691 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-07 17:59:56,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-07 17:59:56,691 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 17:59:56,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 17:59:56,692 INFO L85 PathProgramCache]: Analyzing trace with hash -984079512, now seen corresponding path program 2 times [2022-04-07 17:59:56,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 17:59:56,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [566113326] [2022-04-07 17:59:56,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 17:59:56,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 17:59:56,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:56,917 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 17:59:56,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:56,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {3736#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {3688#true} is VALID [2022-04-07 17:59:56,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {3688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:56,921 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3688#true} {3688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:56,922 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:56,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:56,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3688#true} is VALID [2022-04-07 17:59:56,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {3688#true} [136] L16-->L16-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[] {3688#true} is VALID [2022-04-07 17:59:56,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {3688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:56,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3688#true} {3688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3688#true} is VALID [2022-04-07 17:59:56,928 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 17:59:56,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:56,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [138] #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] {3688#true} is VALID [2022-04-07 17:59:56,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {3688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:56,933 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3688#true} {3697#(= |main_#t~malloc13.offset| 0)} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3697#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-07 17:59:56,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 17:59:56,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:57,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 17:59:57,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:57,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 17:59:57,568 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 17:59:57,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:57,585 INFO L290 TraceCheckUtils]: 0: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-07 17:59:57,588 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 17:59:57,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:57,618 INFO L290 TraceCheckUtils]: 0: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3753#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,621 INFO L290 TraceCheckUtils]: 0: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} is VALID [2022-04-07 17:59:57,621 INFO L272 TraceCheckUtils]: 1: Hoare triple {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3688#true} is VALID [2022-04-07 17:59:57,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,622 INFO L290 TraceCheckUtils]: 3: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,622 INFO L290 TraceCheckUtils]: 4: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,623 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 17:59:57,624 INFO L272 TraceCheckUtils]: 6: Hoare triple {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3688#true} is VALID [2022-04-07 17:59:57,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-07 17:59:57,626 INFO L272 TraceCheckUtils]: 11: Hoare triple {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3688#true} is VALID [2022-04-07 17:59:57,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,629 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3753#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {3753#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,631 INFO L290 TraceCheckUtils]: 17: Hoare triple {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,632 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} {3701#(= main_~a~0.offset 0)} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} is VALID [2022-04-07 17:59:57,632 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 17:59:57,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:57,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {3757#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 17:59:57,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {3757#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3758#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:57,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {3758#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3759#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:57,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {3759#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3760#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:57,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {3760#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {3761#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-07 17:59:57,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {3761#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-07 17:59:57,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-07 17:59:57,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-07 17:59:57,884 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3689#false} is VALID [2022-04-07 17:59:57,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {3688#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3736#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 17:59:57,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {3736#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {3688#true} is VALID [2022-04-07 17:59:57,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {3688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:57,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3688#true} {3688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:57,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {3688#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:57,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {3688#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {3688#true} is VALID [2022-04-07 17:59:57,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {3688#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3688#true} is VALID [2022-04-07 17:59:57,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3688#true} is VALID [2022-04-07 17:59:57,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {3688#true} [136] L16-->L16-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[] {3688#true} is VALID [2022-04-07 17:59:57,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {3688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:57,886 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3688#true} {3688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3688#true} is VALID [2022-04-07 17:59:57,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {3688#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {3697#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-07 17:59:57,887 INFO L272 TraceCheckUtils]: 12: Hoare triple {3697#(= |main_#t~malloc13.offset| 0)} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3737#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:57,887 INFO L290 TraceCheckUtils]: 13: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [138] #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] {3688#true} is VALID [2022-04-07 17:59:57,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {3688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 17:59:57,888 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3688#true} {3697#(= |main_#t~malloc13.offset| 0)} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3697#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-07 17:59:57,889 INFO L290 TraceCheckUtils]: 16: Hoare triple {3697#(= |main_#t~malloc13.offset| 0)} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {3701#(= main_~a~0.offset 0)} is VALID [2022-04-07 17:59:57,889 INFO L272 TraceCheckUtils]: 17: Hoare triple {3701#(= main_~a~0.offset 0)} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3737#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:57,890 INFO L290 TraceCheckUtils]: 18: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} is VALID [2022-04-07 17:59:57,890 INFO L272 TraceCheckUtils]: 19: Hoare triple {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3688#true} is VALID [2022-04-07 17:59:57,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,892 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3738#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 17:59:57,893 INFO L272 TraceCheckUtils]: 24: Hoare triple {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3688#true} is VALID [2022-04-07 17:59:57,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,896 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3743#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-07 17:59:57,897 INFO L272 TraceCheckUtils]: 29: Hoare triple {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3688#true} is VALID [2022-04-07 17:59:57,897 INFO L290 TraceCheckUtils]: 30: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 17:59:57,897 INFO L290 TraceCheckUtils]: 31: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,898 INFO L290 TraceCheckUtils]: 32: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 17:59:57,899 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3748#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3753#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {3753#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,901 INFO L290 TraceCheckUtils]: 35: Hoare triple {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-07 17:59:57,903 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3754#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} {3701#(= main_~a~0.offset 0)} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} is VALID [2022-04-07 17:59:57,904 INFO L290 TraceCheckUtils]: 37: Hoare triple {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} is VALID [2022-04-07 17:59:57,905 INFO L272 TraceCheckUtils]: 38: Hoare triple {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3737#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 17:59:57,905 INFO L290 TraceCheckUtils]: 39: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {3757#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 17:59:57,906 INFO L290 TraceCheckUtils]: 40: Hoare triple {3757#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3758#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:57,907 INFO L290 TraceCheckUtils]: 41: Hoare triple {3758#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3759#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:57,908 INFO L290 TraceCheckUtils]: 42: Hoare triple {3759#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3760#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} is VALID [2022-04-07 17:59:57,908 INFO L290 TraceCheckUtils]: 43: Hoare triple {3760#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {3761#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-07 17:59:57,909 INFO L290 TraceCheckUtils]: 44: Hoare triple {3761#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,909 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,910 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,910 INFO L290 TraceCheckUtils]: 47: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,911 INFO L290 TraceCheckUtils]: 48: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-07 17:59:57,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-07 17:59:57,913 INFO L290 TraceCheckUtils]: 50: Hoare triple {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-07 17:59:57,916 INFO L290 TraceCheckUtils]: 51: Hoare triple {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-07 17:59:57,917 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3763#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} {3721#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3689#false} is VALID [2022-04-07 17:59:57,917 INFO L290 TraceCheckUtils]: 53: Hoare triple {3689#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {3689#false} is VALID [2022-04-07 17:59:57,918 INFO L272 TraceCheckUtils]: 54: Hoare triple {3689#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {3689#false} is VALID [2022-04-07 17:59:57,918 INFO L290 TraceCheckUtils]: 55: Hoare triple {3689#false} [157] __VERIFIER_assertENTRY-->L10: 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] {3689#false} is VALID [2022-04-07 17:59:57,918 INFO L290 TraceCheckUtils]: 56: Hoare triple {3689#false} [164] L10-->L10-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[] {3689#false} is VALID [2022-04-07 17:59:57,918 INFO L290 TraceCheckUtils]: 57: Hoare triple {3689#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3689#false} is VALID [2022-04-07 17:59:57,918 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 9 proven. 5 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-07 17:59:57,919 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 17:59:57,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [566113326] [2022-04-07 17:59:57,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [566113326] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 17:59:57,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2141275971] [2022-04-07 17:59:57,919 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 17:59:57,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 17:59:57,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 17:59:57,924 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 17:59:57,956 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-07 17:59:58,019 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 17:59:58,020 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 17:59:58,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-07 17:59:58,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 17:59:58,045 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 17:59:58,594 INFO L356 Elim1Store]: treesize reduction 37, result has 22.9 percent of original size [2022-04-07 17:59:58,595 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 23 [2022-04-07 18:00:09,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {3688#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 18:00:09,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {3688#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {3688#true} is VALID [2022-04-07 18:00:09,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {3688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 18:00:09,343 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3688#true} {3688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 18:00:09,343 INFO L272 TraceCheckUtils]: 4: Hoare triple {3688#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 18:00:09,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {3688#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L272 TraceCheckUtils]: 6: Hoare triple {3688#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {3688#true} [136] L16-->L16-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[] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {3688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3688#true} {3688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {3688#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L272 TraceCheckUtils]: 12: Hoare triple {3688#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {3688#true} [138] #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] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {3688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3688#true} {3688#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {3688#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {3688#true} is VALID [2022-04-07 18:00:09,344 INFO L272 TraceCheckUtils]: 17: Hoare triple {3688#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3688#true} is VALID [2022-04-07 18:00:09,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {3688#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {3821#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:00:09,345 INFO L272 TraceCheckUtils]: 19: Hoare triple {3821#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3688#true} is VALID [2022-04-07 18:00:09,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:09,346 INFO L290 TraceCheckUtils]: 21: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:09,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:09,348 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3821#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {3837#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 18:00:09,348 INFO L272 TraceCheckUtils]: 24: Hoare triple {3837#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3688#true} is VALID [2022-04-07 18:00:09,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:09,348 INFO L290 TraceCheckUtils]: 26: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:09,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:09,350 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3837#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {3853#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:00:09,350 INFO L272 TraceCheckUtils]: 29: Hoare triple {3853#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3688#true} is VALID [2022-04-07 18:00:09,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {3688#true} [133] assume_abort_if_notENTRY-->L16: 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] {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:09,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {3755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:09,351 INFO L290 TraceCheckUtils]: 32: Hoare triple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3756#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:09,351 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3756#(not (= |assume_abort_if_not_#in~cond| 0))} {3853#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {3869#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:00:09,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {3869#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {3873#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is VALID [2022-04-07 18:00:09,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {3873#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3873#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is VALID [2022-04-07 18:00:09,703 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3873#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} {3688#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {3880#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is VALID [2022-04-07 18:00:09,710 INFO L290 TraceCheckUtils]: 37: Hoare triple {3880#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {3880#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is VALID [2022-04-07 18:00:09,711 INFO L272 TraceCheckUtils]: 38: Hoare triple {3880#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3737#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:09,712 INFO L290 TraceCheckUtils]: 39: Hoare triple {3737#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {3890#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:00:09,712 INFO L290 TraceCheckUtils]: 40: Hoare triple {3890#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3894#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:00:09,713 INFO L290 TraceCheckUtils]: 41: Hoare triple {3894#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3898#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int)) (and (<= finddup_~i~1 0) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))))} is VALID [2022-04-07 18:00:09,716 INFO L290 TraceCheckUtils]: 42: Hoare triple {3898#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int)) (and (<= finddup_~i~1 0) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {3902#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int)) (and (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)))) (<= finddup_~j~1 (+ finddup_~i~1 1)))))} is VALID [2022-04-07 18:00:09,717 INFO L290 TraceCheckUtils]: 43: Hoare triple {3902#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int)) (and (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)))) (<= finddup_~j~1 (+ finddup_~i~1 1)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {3906#(and (<= |finddup_#in~n| finddup_~n) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= finddup_~j~1 (+ v_finddup_~j~1_25 1)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:00:09,720 INFO L290 TraceCheckUtils]: 44: Hoare triple {3906#(and (<= |finddup_#in~n| finddup_~n) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= finddup_~j~1 (+ v_finddup_~j~1_25 1)))) (= |#memory_int| |old(#memory_int)|))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,732 INFO L290 TraceCheckUtils]: 46: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,765 INFO L290 TraceCheckUtils]: 48: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,805 INFO L290 TraceCheckUtils]: 50: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,827 INFO L290 TraceCheckUtils]: 51: Hoare triple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} is VALID [2022-04-07 18:00:09,829 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3910#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int) (v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 (+ finddup_~i~1 1)) (<= finddup_~i~1 0) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)))))} {3880#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {3689#false} is VALID [2022-04-07 18:00:09,829 INFO L290 TraceCheckUtils]: 53: Hoare triple {3689#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {3689#false} is VALID [2022-04-07 18:00:09,829 INFO L272 TraceCheckUtils]: 54: Hoare triple {3689#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {3689#false} is VALID [2022-04-07 18:00:09,829 INFO L290 TraceCheckUtils]: 55: Hoare triple {3689#false} [157] __VERIFIER_assertENTRY-->L10: 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] {3689#false} is VALID [2022-04-07 18:00:09,829 INFO L290 TraceCheckUtils]: 56: Hoare triple {3689#false} [164] L10-->L10-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[] {3689#false} is VALID [2022-04-07 18:00:09,830 INFO L290 TraceCheckUtils]: 57: Hoare triple {3689#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3689#false} is VALID [2022-04-07 18:00:09,830 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 9 proven. 5 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-07 18:00:09,830 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:00:10,936 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2141275971] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:00:10,936 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:00:10,937 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 17] total 33 [2022-04-07 18:00:10,937 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [846739487] [2022-04-07 18:00:10,937 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 18:00:10,937 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) Word has length 58 [2022-04-07 18:00:10,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:10,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 18:00:13,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 82 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:13,669 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-07 18:00:13,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:13,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-07 18:00:13,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=1026, Unknown=4, NotChecked=0, Total=1122 [2022-04-07 18:00:13,670 INFO L87 Difference]: Start difference. First operand 83 states and 99 transitions. Second operand has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 18:00:26,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:26,466 INFO L93 Difference]: Finished difference Result 101 states and 122 transitions. [2022-04-07 18:00:26,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-07 18:00:26,466 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) Word has length 58 [2022-04-07 18:00:26,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:26,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 18:00:26,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 98 transitions. [2022-04-07 18:00:26,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 18:00:26,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 98 transitions. [2022-04-07 18:00:26,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 98 transitions. [2022-04-07 18:00:28,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 97 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:28,606 INFO L225 Difference]: With dead ends: 101 [2022-04-07 18:00:28,606 INFO L226 Difference]: Without dead ends: 98 [2022-04-07 18:00:28,607 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 658 ImplicationChecksByTransitivity, 14.3s TimeCoverageRelationStatistics Valid=284, Invalid=2904, Unknown=4, NotChecked=0, Total=3192 [2022-04-07 18:00:28,608 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 81 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 899 mSolverCounterSat, 64 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 1338 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 64 IncrementalHoareTripleChecker+Valid, 899 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 375 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:28,608 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 183 Invalid, 1338 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [64 Valid, 899 Invalid, 0 Unknown, 375 Unchecked, 0.9s Time] [2022-04-07 18:00:28,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-07 18:00:28,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-07 18:00:28,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:28,612 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 61 states have (on average 1.2131147540983607) internal successors, (74), 63 states have internal predecessors, (74), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:28,613 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 61 states have (on average 1.2131147540983607) internal successors, (74), 63 states have internal predecessors, (74), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:28,613 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 61 states have (on average 1.2131147540983607) internal successors, (74), 63 states have internal predecessors, (74), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:28,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:28,616 INFO L93 Difference]: Finished difference Result 98 states and 119 transitions. [2022-04-07 18:00:28,616 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 119 transitions. [2022-04-07 18:00:28,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:28,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:28,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 61 states have (on average 1.2131147540983607) internal successors, (74), 63 states have internal predecessors, (74), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 98 states. [2022-04-07 18:00:28,622 INFO L87 Difference]: Start difference. First operand has 89 states, 61 states have (on average 1.2131147540983607) internal successors, (74), 63 states have internal predecessors, (74), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 98 states. [2022-04-07 18:00:28,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:28,626 INFO L93 Difference]: Finished difference Result 98 states and 119 transitions. [2022-04-07 18:00:28,626 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 119 transitions. [2022-04-07 18:00:28,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:28,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:28,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:28,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:28,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 61 states have (on average 1.2131147540983607) internal successors, (74), 63 states have internal predecessors, (74), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:28,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 108 transitions. [2022-04-07 18:00:28,638 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 108 transitions. Word has length 58 [2022-04-07 18:00:28,639 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:28,639 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 108 transitions. [2022-04-07 18:00:28,640 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 26 states have (on average 2.0384615384615383) internal successors, (53), 25 states have internal predecessors, (53), 12 states have call successors, (17), 4 states have call predecessors, (17), 6 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 18:00:28,640 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-07 18:00:28,642 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-07 18:00:28,642 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:28,642 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 18:00:28,659 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 18:00:28,844 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:28,844 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:28,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:28,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1828813328, now seen corresponding path program 3 times [2022-04-07 18:00:28,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:28,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [523799763] [2022-04-07 18:00:28,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:28,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:28,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:28,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {4453#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4405#true} is VALID [2022-04-07 18:00:28,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,889 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4405#true} {4405#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:28,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,895 INFO L290 TraceCheckUtils]: 0: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:28,898 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:28,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {4454#(= |#memory_int| |old(#memory_int)|)} [138] #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] {4405#true} is VALID [2022-04-07 18:00:28,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,902 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4405#true} {4405#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4405#true} is VALID [2022-04-07 18:00:28,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:28,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:28,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:28,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:28,923 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:28,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,929 INFO L290 TraceCheckUtils]: 0: Hoare triple {4454#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,929 INFO L272 TraceCheckUtils]: 1: Hoare triple {4405#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L290 TraceCheckUtils]: 3: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L290 TraceCheckUtils]: 4: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4405#true} {4405#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {4405#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4405#true} {4405#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L272 TraceCheckUtils]: 11: Hoare triple {4405#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L290 TraceCheckUtils]: 12: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L290 TraceCheckUtils]: 14: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4405#true} {4405#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L290 TraceCheckUtils]: 16: Hoare triple {4405#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {4405#true} is VALID [2022-04-07 18:00:28,931 INFO L290 TraceCheckUtils]: 17: Hoare triple {4405#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:28,932 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4405#true} {4405#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:28,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:28,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:28,993 INFO L290 TraceCheckUtils]: 0: Hoare triple {4454#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {4405#true} is VALID [2022-04-07 18:00:28,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:28,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:28,995 INFO L290 TraceCheckUtils]: 3: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:28,995 INFO L290 TraceCheckUtils]: 4: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:00:28,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:28,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:28,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:28,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:28,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:28,999 INFO L290 TraceCheckUtils]: 10: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4471#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-07 18:00:28,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {4471#(<= (+ finddup_~j~1 1) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:28,999 INFO L290 TraceCheckUtils]: 12: Hoare triple {4406#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4406#false} is VALID [2022-04-07 18:00:28,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {4406#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:28,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {4406#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {4406#false} is VALID [2022-04-07 18:00:28,999 INFO L290 TraceCheckUtils]: 15: Hoare triple {4406#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,000 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4406#false} {4405#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4406#false} is VALID [2022-04-07 18:00:29,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {4405#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:29,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {4405#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {4405#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L272 TraceCheckUtils]: 6: Hoare triple {4405#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,001 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4405#true} {4405#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:29,002 INFO L290 TraceCheckUtils]: 11: Hoare triple {4405#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {4405#true} is VALID [2022-04-07 18:00:29,003 INFO L272 TraceCheckUtils]: 12: Hoare triple {4405#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4454#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:29,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {4454#(= |#memory_int| |old(#memory_int)|)} [138] #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] {4405#true} is VALID [2022-04-07 18:00:29,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {4405#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,003 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4405#true} {4405#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4405#true} is VALID [2022-04-07 18:00:29,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {4405#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,004 INFO L272 TraceCheckUtils]: 17: Hoare triple {4405#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4454#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:29,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {4454#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,004 INFO L272 TraceCheckUtils]: 19: Hoare triple {4405#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,004 INFO L290 TraceCheckUtils]: 21: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L290 TraceCheckUtils]: 22: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4405#true} {4405#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L272 TraceCheckUtils]: 24: Hoare triple {4405#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L290 TraceCheckUtils]: 25: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L290 TraceCheckUtils]: 26: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4405#true} {4405#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L272 TraceCheckUtils]: 29: Hoare triple {4405#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,005 INFO L290 TraceCheckUtils]: 31: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,006 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4405#true} {4405#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,006 INFO L290 TraceCheckUtils]: 34: Hoare triple {4405#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {4405#true} is VALID [2022-04-07 18:00:29,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {4405#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,006 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4405#true} {4405#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,006 INFO L290 TraceCheckUtils]: 37: Hoare triple {4405#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {4405#true} is VALID [2022-04-07 18:00:29,007 INFO L272 TraceCheckUtils]: 38: Hoare triple {4405#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4454#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:29,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {4454#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {4405#true} is VALID [2022-04-07 18:00:29,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {4405#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,008 INFO L290 TraceCheckUtils]: 41: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,009 INFO L290 TraceCheckUtils]: 42: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,009 INFO L290 TraceCheckUtils]: 43: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:00:29,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,010 INFO L290 TraceCheckUtils]: 45: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,011 INFO L290 TraceCheckUtils]: 46: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,011 INFO L290 TraceCheckUtils]: 47: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,011 INFO L290 TraceCheckUtils]: 48: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,012 INFO L290 TraceCheckUtils]: 49: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4471#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-07 18:00:29,012 INFO L290 TraceCheckUtils]: 50: Hoare triple {4471#(<= (+ finddup_~j~1 1) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 51: Hoare triple {4406#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 52: Hoare triple {4406#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 53: Hoare triple {4406#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 54: Hoare triple {4406#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4406#false} {4405#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 56: Hoare triple {4406#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L272 TraceCheckUtils]: 57: Hoare triple {4406#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 58: Hoare triple {4406#false} [157] __VERIFIER_assertENTRY-->L10: 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] {4406#false} is VALID [2022-04-07 18:00:29,013 INFO L290 TraceCheckUtils]: 59: Hoare triple {4406#false} [164] L10-->L10-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[] {4406#false} is VALID [2022-04-07 18:00:29,014 INFO L290 TraceCheckUtils]: 60: Hoare triple {4406#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,014 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 5 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 18:00:29,014 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:29,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [523799763] [2022-04-07 18:00:29,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [523799763] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:00:29,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [326395593] [2022-04-07 18:00:29,014 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 18:00:29,014 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:29,015 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:00:29,015 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:00:29,017 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-07 18:00:29,105 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-07 18:00:29,105 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 18:00:29,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 252 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-07 18:00:29,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:29,123 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:00:29,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {4405#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4405#true} is VALID [2022-04-07 18:00:29,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {4405#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {4405#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L272 TraceCheckUtils]: 6: Hoare triple {4405#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4405#true} {4405#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {4405#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L272 TraceCheckUtils]: 12: Hoare triple {4405#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4405#true} is VALID [2022-04-07 18:00:29,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {4405#true} [138] #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] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L290 TraceCheckUtils]: 14: Hoare triple {4405#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4405#true} {4405#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L290 TraceCheckUtils]: 16: Hoare triple {4405#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L272 TraceCheckUtils]: 17: Hoare triple {4405#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {4405#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L272 TraceCheckUtils]: 19: Hoare triple {4405#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L290 TraceCheckUtils]: 21: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4405#true} {4405#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L272 TraceCheckUtils]: 24: Hoare triple {4405#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4405#true} {4405#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L272 TraceCheckUtils]: 29: Hoare triple {4405#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4405#true} {4405#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L290 TraceCheckUtils]: 34: Hoare triple {4405#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L290 TraceCheckUtils]: 35: Hoare triple {4405#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4405#true} {4405#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {4405#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L272 TraceCheckUtils]: 38: Hoare triple {4405#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4405#true} is VALID [2022-04-07 18:00:29,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {4405#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {4405#true} is VALID [2022-04-07 18:00:29,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {4405#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,334 INFO L290 TraceCheckUtils]: 41: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:00:29,336 INFO L290 TraceCheckUtils]: 44: Hoare triple {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,336 INFO L290 TraceCheckUtils]: 45: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,337 INFO L290 TraceCheckUtils]: 46: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,337 INFO L290 TraceCheckUtils]: 47: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,338 INFO L290 TraceCheckUtils]: 48: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,338 INFO L290 TraceCheckUtils]: 49: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,338 INFO L290 TraceCheckUtils]: 50: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,339 INFO L290 TraceCheckUtils]: 51: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4628#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-07 18:00:29,339 INFO L290 TraceCheckUtils]: 52: Hoare triple {4628#(<= (+ finddup_~i~1 1) finddup_~n)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,340 INFO L290 TraceCheckUtils]: 53: Hoare triple {4406#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {4406#false} is VALID [2022-04-07 18:00:29,340 INFO L290 TraceCheckUtils]: 54: Hoare triple {4406#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,341 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4406#false} {4405#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4406#false} is VALID [2022-04-07 18:00:29,341 INFO L290 TraceCheckUtils]: 56: Hoare triple {4406#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {4406#false} is VALID [2022-04-07 18:00:29,342 INFO L272 TraceCheckUtils]: 57: Hoare triple {4406#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {4406#false} is VALID [2022-04-07 18:00:29,342 INFO L290 TraceCheckUtils]: 58: Hoare triple {4406#false} [157] __VERIFIER_assertENTRY-->L10: 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] {4406#false} is VALID [2022-04-07 18:00:29,342 INFO L290 TraceCheckUtils]: 59: Hoare triple {4406#false} [164] L10-->L10-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[] {4406#false} is VALID [2022-04-07 18:00:29,343 INFO L290 TraceCheckUtils]: 60: Hoare triple {4406#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,343 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 3 proven. 9 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 18:00:29,343 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:00:29,617 INFO L290 TraceCheckUtils]: 60: Hoare triple {4406#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L290 TraceCheckUtils]: 59: Hoare triple {4406#false} [164] L10-->L10-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[] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L290 TraceCheckUtils]: 58: Hoare triple {4406#false} [157] __VERIFIER_assertENTRY-->L10: 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] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L272 TraceCheckUtils]: 57: Hoare triple {4406#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L290 TraceCheckUtils]: 56: Hoare triple {4406#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4406#false} {4405#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L290 TraceCheckUtils]: 54: Hoare triple {4406#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,618 INFO L290 TraceCheckUtils]: 53: Hoare triple {4406#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {4406#false} is VALID [2022-04-07 18:00:29,619 INFO L290 TraceCheckUtils]: 52: Hoare triple {4628#(<= (+ finddup_~i~1 1) finddup_~n)} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {4406#false} is VALID [2022-04-07 18:00:29,620 INFO L290 TraceCheckUtils]: 51: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4628#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-07 18:00:29,620 INFO L290 TraceCheckUtils]: 50: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,621 INFO L290 TraceCheckUtils]: 49: Hoare triple {4470#(<= (+ finddup_~i~1 2) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,621 INFO L290 TraceCheckUtils]: 48: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {4470#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-07 18:00:29,622 INFO L290 TraceCheckUtils]: 47: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,622 INFO L290 TraceCheckUtils]: 46: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,623 INFO L290 TraceCheckUtils]: 45: Hoare triple {4469#(<= (+ finddup_~i~1 3) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,623 INFO L290 TraceCheckUtils]: 44: Hoare triple {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4469#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:00:29,624 INFO L290 TraceCheckUtils]: 43: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {4468#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:00:29,624 INFO L290 TraceCheckUtils]: 42: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,625 INFO L290 TraceCheckUtils]: 41: Hoare triple {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,625 INFO L290 TraceCheckUtils]: 40: Hoare triple {4405#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {4467#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:00:29,625 INFO L290 TraceCheckUtils]: 39: Hoare triple {4405#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L272 TraceCheckUtils]: 38: Hoare triple {4405#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L290 TraceCheckUtils]: 37: Hoare triple {4405#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4405#true} {4405#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {4405#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L290 TraceCheckUtils]: 34: Hoare triple {4405#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4405#true} {4405#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L290 TraceCheckUtils]: 30: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L272 TraceCheckUtils]: 29: Hoare triple {4405#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4405#true} {4405#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L290 TraceCheckUtils]: 27: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L290 TraceCheckUtils]: 26: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L290 TraceCheckUtils]: 25: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L272 TraceCheckUtils]: 24: Hoare triple {4405#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4405#true} {4405#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,627 INFO L290 TraceCheckUtils]: 22: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L272 TraceCheckUtils]: 19: Hoare triple {4405#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {4405#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L272 TraceCheckUtils]: 17: Hoare triple {4405#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {4405#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4405#true} {4405#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {4405#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {4405#true} [138] #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] {4405#true} is VALID [2022-04-07 18:00:29,628 INFO L272 TraceCheckUtils]: 12: Hoare triple {4405#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {4405#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4405#true} {4405#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {4405#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {4405#true} [136] L16-->L16-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[] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {4405#true} [133] assume_abort_if_notENTRY-->L16: 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] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L272 TraceCheckUtils]: 6: Hoare triple {4405#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {4405#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {4405#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4405#true} {4405#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {4405#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {4405#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {4405#true} is VALID [2022-04-07 18:00:29,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {4405#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4405#true} is VALID [2022-04-07 18:00:29,630 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 3 proven. 9 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 18:00:29,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [326395593] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 18:00:29,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 18:00:29,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 10 [2022-04-07 18:00:29,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1425088049] [2022-04-07 18:00:29,631 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 18:00:29,631 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 61 [2022-04-07 18:00:29,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:29,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:00:29,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:29,682 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 18:00:29,682 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:29,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 18:00:29,683 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-07 18:00:29,683 INFO L87 Difference]: Start difference. First operand 89 states and 108 transitions. Second operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:00:30,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:30,608 INFO L93 Difference]: Finished difference Result 101 states and 122 transitions. [2022-04-07 18:00:30,609 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 18:00:30,609 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 61 [2022-04-07 18:00:30,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:30,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:00:30,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 82 transitions. [2022-04-07 18:00:30,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:00:30,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 82 transitions. [2022-04-07 18:00:30,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 82 transitions. [2022-04-07 18:00:30,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:30,685 INFO L225 Difference]: With dead ends: 101 [2022-04-07 18:00:30,686 INFO L226 Difference]: Without dead ends: 101 [2022-04-07 18:00:30,686 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 136 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=112, Invalid=230, Unknown=0, NotChecked=0, Total=342 [2022-04-07 18:00:30,686 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 69 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 443 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:30,687 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [76 Valid, 59 Invalid, 443 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 389 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 18:00:30,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-07 18:00:30,690 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 95. [2022-04-07 18:00:30,690 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:30,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 95 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 69 states have internal predecessors, (82), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:30,691 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 95 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 69 states have internal predecessors, (82), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:30,691 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 95 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 69 states have internal predecessors, (82), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:30,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:30,694 INFO L93 Difference]: Finished difference Result 101 states and 122 transitions. [2022-04-07 18:00:30,694 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 122 transitions. [2022-04-07 18:00:30,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:30,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:30,695 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 69 states have internal predecessors, (82), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 101 states. [2022-04-07 18:00:30,695 INFO L87 Difference]: Start difference. First operand has 95 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 69 states have internal predecessors, (82), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 101 states. [2022-04-07 18:00:30,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:30,698 INFO L93 Difference]: Finished difference Result 101 states and 122 transitions. [2022-04-07 18:00:30,698 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 122 transitions. [2022-04-07 18:00:30,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:30,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:30,699 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:30,699 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:30,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 69 states have internal predecessors, (82), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-07 18:00:30,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 116 transitions. [2022-04-07 18:00:30,702 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 116 transitions. Word has length 61 [2022-04-07 18:00:30,702 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:30,702 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 116 transitions. [2022-04-07 18:00:30,703 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:00:30,703 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 116 transitions. [2022-04-07 18:00:30,703 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-07 18:00:30,703 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:30,703 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 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] [2022-04-07 18:00:30,731 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-07 18:00:30,927 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:30,927 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:30,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:30,927 INFO L85 PathProgramCache]: Analyzing trace with hash -1290066965, now seen corresponding path program 1 times [2022-04-07 18:00:30,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:30,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [14366736] [2022-04-07 18:00:30,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:30,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:30,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:31,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,004 INFO L290 TraceCheckUtils]: 0: Hoare triple {5304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {5255#true} is VALID [2022-04-07 18:00:31,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,005 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5255#true} {5255#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:31,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,007 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {5255#true} is VALID [2022-04-07 18:00:31,013 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:31,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {5305#(= |#memory_int| |old(#memory_int)|)} [138] #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] {5255#true} is VALID [2022-04-07 18:00:31,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,016 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5255#true} {5255#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {5255#true} is VALID [2022-04-07 18:00:31,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:31,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:31,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,032 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:31,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5255#true} is VALID [2022-04-07 18:00:31,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:31,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {5305#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L272 TraceCheckUtils]: 1: Hoare triple {5255#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L290 TraceCheckUtils]: 3: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L290 TraceCheckUtils]: 4: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {5255#true} {5255#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L272 TraceCheckUtils]: 6: Hoare triple {5255#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,039 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5255#true} {5255#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L272 TraceCheckUtils]: 11: Hoare triple {5255#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L290 TraceCheckUtils]: 13: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L290 TraceCheckUtils]: 14: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5255#true} {5255#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {5255#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {5255#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,040 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5255#true} {5255#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {5255#true} is VALID [2022-04-07 18:00:31,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:31,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,092 INFO L290 TraceCheckUtils]: 0: Hoare triple {5305#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:31,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:31,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {5319#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:31,094 INFO L290 TraceCheckUtils]: 3: Hoare triple {5319#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-07 18:00:31,095 INFO L290 TraceCheckUtils]: 4: Hoare triple {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-07 18:00:31,096 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} {5255#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,096 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-07 18:00:31,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5255#true} is VALID [2022-04-07 18:00:31,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-07 18:00:31,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:31,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {5255#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5255#true} is VALID [2022-04-07 18:00:31,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {5255#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,114 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,114 INFO L272 TraceCheckUtils]: 0: Hoare triple {5255#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:31,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {5304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {5255#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {5255#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {5255#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L272 TraceCheckUtils]: 6: Hoare triple {5255#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5255#true} {5255#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {5255#true} is VALID [2022-04-07 18:00:31,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {5255#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {5255#true} is VALID [2022-04-07 18:00:31,122 INFO L272 TraceCheckUtils]: 12: Hoare triple {5255#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {5305#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:31,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {5305#(= |#memory_int| |old(#memory_int)|)} [138] #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] {5255#true} is VALID [2022-04-07 18:00:31,122 INFO L290 TraceCheckUtils]: 14: Hoare triple {5255#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,123 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5255#true} {5255#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {5255#true} is VALID [2022-04-07 18:00:31,123 INFO L290 TraceCheckUtils]: 16: Hoare triple {5255#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {5255#true} is VALID [2022-04-07 18:00:31,123 INFO L272 TraceCheckUtils]: 17: Hoare triple {5255#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {5305#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {5305#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L272 TraceCheckUtils]: 19: Hoare triple {5255#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5255#true} {5255#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L272 TraceCheckUtils]: 24: Hoare triple {5255#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 26: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,124 INFO L290 TraceCheckUtils]: 27: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5255#true} {5255#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L272 TraceCheckUtils]: 29: Hoare triple {5255#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {5255#true} [133] assume_abort_if_notENTRY-->L16: 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] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L290 TraceCheckUtils]: 31: Hoare triple {5255#true} [136] L16-->L16-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[] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L290 TraceCheckUtils]: 32: Hoare triple {5255#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5255#true} {5255#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L290 TraceCheckUtils]: 34: Hoare triple {5255#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L290 TraceCheckUtils]: 35: Hoare triple {5255#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,125 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5255#true} {5255#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {5255#true} is VALID [2022-04-07 18:00:31,126 INFO L290 TraceCheckUtils]: 37: Hoare triple {5255#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {5255#true} is VALID [2022-04-07 18:00:31,127 INFO L272 TraceCheckUtils]: 38: Hoare triple {5255#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {5305#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:31,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {5305#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:31,128 INFO L290 TraceCheckUtils]: 40: Hoare triple {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:31,128 INFO L290 TraceCheckUtils]: 41: Hoare triple {5318#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {5319#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:31,129 INFO L290 TraceCheckUtils]: 42: Hoare triple {5319#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-07 18:00:31,130 INFO L290 TraceCheckUtils]: 43: Hoare triple {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-07 18:00:31,131 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5320#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} {5255#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,131 INFO L272 TraceCheckUtils]: 46: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {5255#true} is VALID [2022-04-07 18:00:31,131 INFO L290 TraceCheckUtils]: 47: Hoare triple {5255#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5255#true} is VALID [2022-04-07 18:00:31,132 INFO L290 TraceCheckUtils]: 48: Hoare triple {5255#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,132 INFO L290 TraceCheckUtils]: 49: Hoare triple {5255#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,132 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5255#true} {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,133 INFO L290 TraceCheckUtils]: 52: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,133 INFO L272 TraceCheckUtils]: 53: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {5255#true} is VALID [2022-04-07 18:00:31,133 INFO L290 TraceCheckUtils]: 54: Hoare triple {5255#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5255#true} is VALID [2022-04-07 18:00:31,133 INFO L290 TraceCheckUtils]: 55: Hoare triple {5255#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,133 INFO L290 TraceCheckUtils]: 56: Hoare triple {5255#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5255#true} is VALID [2022-04-07 18:00:31,134 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {5255#true} {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,134 INFO L290 TraceCheckUtils]: 58: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-07 18:00:31,135 INFO L290 TraceCheckUtils]: 59: Hoare triple {5292#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {5301#|main_#t~short20|} is VALID [2022-04-07 18:00:31,135 INFO L272 TraceCheckUtils]: 60: Hoare triple {5301#|main_#t~short20|} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {5302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:31,136 INFO L290 TraceCheckUtils]: 61: Hoare triple {5302#(not (= |__VERIFIER_assert_#in~cond| 0))} [157] __VERIFIER_assertENTRY-->L10: 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] {5303#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 18:00:31,136 INFO L290 TraceCheckUtils]: 62: Hoare triple {5303#(not (= __VERIFIER_assert_~cond 0))} [164] L10-->L10-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[] {5256#false} is VALID [2022-04-07 18:00:31,136 INFO L290 TraceCheckUtils]: 63: Hoare triple {5256#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5256#false} is VALID [2022-04-07 18:00:31,137 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 18:00:31,137 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:31,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [14366736] [2022-04-07 18:00:31,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [14366736] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 18:00:31,137 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 18:00:31,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-07 18:00:31,137 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344119011] [2022-04-07 18:00:31,139 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 18:00:31,140 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-07 18:00:31,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:31,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:31,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:31,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 18:00:31,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:31,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 18:00:31,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2022-04-07 18:00:31,180 INFO L87 Difference]: Start difference. First operand 95 states and 116 transitions. Second operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:32,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:32,346 INFO L93 Difference]: Finished difference Result 109 states and 134 transitions. [2022-04-07 18:00:32,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 18:00:32,346 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-07 18:00:32,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:32,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:32,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 92 transitions. [2022-04-07 18:00:32,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:32,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 92 transitions. [2022-04-07 18:00:32,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 92 transitions. [2022-04-07 18:00:32,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:32,440 INFO L225 Difference]: With dead ends: 109 [2022-04-07 18:00:32,440 INFO L226 Difference]: Without dead ends: 109 [2022-04-07 18:00:32,441 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=74, Invalid=306, Unknown=0, NotChecked=0, Total=380 [2022-04-07 18:00:32,441 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 82 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 553 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 619 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 553 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:32,441 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 56 Invalid, 619 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 553 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-07 18:00:32,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-04-07 18:00:32,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 103. [2022-04-07 18:00:32,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:32,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 103 states, 72 states have (on average 1.2222222222222223) internal successors, (88), 75 states have internal predecessors, (88), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:32,446 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 103 states, 72 states have (on average 1.2222222222222223) internal successors, (88), 75 states have internal predecessors, (88), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:32,446 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 103 states, 72 states have (on average 1.2222222222222223) internal successors, (88), 75 states have internal predecessors, (88), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:32,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:32,449 INFO L93 Difference]: Finished difference Result 109 states and 134 transitions. [2022-04-07 18:00:32,449 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 134 transitions. [2022-04-07 18:00:32,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:32,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:32,449 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 72 states have (on average 1.2222222222222223) internal successors, (88), 75 states have internal predecessors, (88), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 109 states. [2022-04-07 18:00:32,450 INFO L87 Difference]: Start difference. First operand has 103 states, 72 states have (on average 1.2222222222222223) internal successors, (88), 75 states have internal predecessors, (88), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 109 states. [2022-04-07 18:00:32,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:32,452 INFO L93 Difference]: Finished difference Result 109 states and 134 transitions. [2022-04-07 18:00:32,452 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 134 transitions. [2022-04-07 18:00:32,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:32,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:32,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:32,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:32,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 72 states have (on average 1.2222222222222223) internal successors, (88), 75 states have internal predecessors, (88), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:32,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 126 transitions. [2022-04-07 18:00:32,455 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 126 transitions. Word has length 64 [2022-04-07 18:00:32,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:32,456 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 126 transitions. [2022-04-07 18:00:32,456 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:32,456 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 126 transitions. [2022-04-07 18:00:32,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-07 18:00:32,456 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:32,457 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 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] [2022-04-07 18:00:32,457 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-07 18:00:32,457 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:32,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:32,457 INFO L85 PathProgramCache]: Analyzing trace with hash -1289143444, now seen corresponding path program 1 times [2022-04-07 18:00:32,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:32,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623095922] [2022-04-07 18:00:32,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:32,458 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:32,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:32,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,513 INFO L290 TraceCheckUtils]: 0: Hoare triple {5819#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {5772#true} is VALID [2022-04-07 18:00:32,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,513 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5772#true} {5772#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:32,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,516 INFO L290 TraceCheckUtils]: 0: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,516 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5772#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {5772#true} is VALID [2022-04-07 18:00:32,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:32,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {5820#(= |#memory_int| |old(#memory_int)|)} [138] #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] {5772#true} is VALID [2022-04-07 18:00:32,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,528 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5772#true} {5772#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {5772#true} is VALID [2022-04-07 18:00:32,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:32,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,540 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:32,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,542 INFO L290 TraceCheckUtils]: 0: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,542 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5772#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:32,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5772#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5772#true} is VALID [2022-04-07 18:00:32,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:32,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,553 INFO L290 TraceCheckUtils]: 0: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5772#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {5820#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L272 TraceCheckUtils]: 1: Hoare triple {5772#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,554 INFO L290 TraceCheckUtils]: 3: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L290 TraceCheckUtils]: 4: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {5772#true} {5772#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L272 TraceCheckUtils]: 6: Hoare triple {5772#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5772#true} {5772#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5772#true} is VALID [2022-04-07 18:00:32,555 INFO L272 TraceCheckUtils]: 11: Hoare triple {5772#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L290 TraceCheckUtils]: 12: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5772#true} {5772#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L290 TraceCheckUtils]: 16: Hoare triple {5772#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L290 TraceCheckUtils]: 17: Hoare triple {5772#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,556 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5772#true} {5772#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {5772#true} is VALID [2022-04-07 18:00:32,557 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:32,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,610 INFO L290 TraceCheckUtils]: 0: Hoare triple {5820#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {5833#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} is VALID [2022-04-07 18:00:32,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {5833#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,613 INFO L290 TraceCheckUtils]: 3: Hoare triple {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,613 INFO L290 TraceCheckUtils]: 4: Hoare triple {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,615 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} {5772#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-07 18:00:32,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,618 INFO L290 TraceCheckUtils]: 0: Hoare triple {5772#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5772#true} is VALID [2022-04-07 18:00:32,618 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-07 18:00:32,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:32,623 INFO L290 TraceCheckUtils]: 0: Hoare triple {5772#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5772#true} is VALID [2022-04-07 18:00:32,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {5772#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {5772#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5819#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:32,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {5819#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {5772#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5772#true} {5772#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {5772#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {5772#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L272 TraceCheckUtils]: 6: Hoare triple {5772#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5772#true} {5772#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {5772#true} is VALID [2022-04-07 18:00:32,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {5772#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {5772#true} is VALID [2022-04-07 18:00:32,627 INFO L272 TraceCheckUtils]: 12: Hoare triple {5772#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {5820#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:32,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {5820#(= |#memory_int| |old(#memory_int)|)} [138] #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] {5772#true} is VALID [2022-04-07 18:00:32,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {5772#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,627 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5772#true} {5772#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {5772#true} is VALID [2022-04-07 18:00:32,627 INFO L290 TraceCheckUtils]: 16: Hoare triple {5772#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {5772#true} is VALID [2022-04-07 18:00:32,628 INFO L272 TraceCheckUtils]: 17: Hoare triple {5772#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {5820#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:32,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {5820#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,628 INFO L272 TraceCheckUtils]: 19: Hoare triple {5772#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,628 INFO L290 TraceCheckUtils]: 21: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,628 INFO L290 TraceCheckUtils]: 22: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,628 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5772#true} {5772#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L272 TraceCheckUtils]: 24: Hoare triple {5772#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L290 TraceCheckUtils]: 26: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L290 TraceCheckUtils]: 27: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5772#true} {5772#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L272 TraceCheckUtils]: 29: Hoare triple {5772#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {5772#true} [133] assume_abort_if_notENTRY-->L16: 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] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {5772#true} [136] L16-->L16-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[] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L290 TraceCheckUtils]: 32: Hoare triple {5772#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,629 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5772#true} {5772#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {5772#true} is VALID [2022-04-07 18:00:32,630 INFO L290 TraceCheckUtils]: 34: Hoare triple {5772#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {5772#true} is VALID [2022-04-07 18:00:32,630 INFO L290 TraceCheckUtils]: 35: Hoare triple {5772#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,630 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5772#true} {5772#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {5772#true} is VALID [2022-04-07 18:00:32,630 INFO L290 TraceCheckUtils]: 37: Hoare triple {5772#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {5772#true} is VALID [2022-04-07 18:00:32,631 INFO L272 TraceCheckUtils]: 38: Hoare triple {5772#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {5820#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:32,632 INFO L290 TraceCheckUtils]: 39: Hoare triple {5820#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {5833#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} is VALID [2022-04-07 18:00:32,632 INFO L290 TraceCheckUtils]: 40: Hoare triple {5833#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,633 INFO L290 TraceCheckUtils]: 41: Hoare triple {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,633 INFO L290 TraceCheckUtils]: 42: Hoare triple {5834#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,634 INFO L290 TraceCheckUtils]: 43: Hoare triple {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-07 18:00:32,635 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5835#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} {5772#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,636 INFO L272 TraceCheckUtils]: 46: Hoare triple {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {5772#true} is VALID [2022-04-07 18:00:32,636 INFO L290 TraceCheckUtils]: 47: Hoare triple {5772#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5772#true} is VALID [2022-04-07 18:00:32,636 INFO L290 TraceCheckUtils]: 48: Hoare triple {5772#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,636 INFO L290 TraceCheckUtils]: 49: Hoare triple {5772#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,637 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5772#true} {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,637 INFO L290 TraceCheckUtils]: 51: Hoare triple {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,637 INFO L290 TraceCheckUtils]: 52: Hoare triple {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,637 INFO L272 TraceCheckUtils]: 53: Hoare triple {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {5772#true} is VALID [2022-04-07 18:00:32,637 INFO L290 TraceCheckUtils]: 54: Hoare triple {5772#true} [157] __VERIFIER_assertENTRY-->L10: 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] {5772#true} is VALID [2022-04-07 18:00:32,638 INFO L290 TraceCheckUtils]: 55: Hoare triple {5772#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,638 INFO L290 TraceCheckUtils]: 56: Hoare triple {5772#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5772#true} is VALID [2022-04-07 18:00:32,638 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {5772#true} {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-07 18:00:32,639 INFO L290 TraceCheckUtils]: 58: Hoare triple {5809#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {5818#|main_#t~short20|} is VALID [2022-04-07 18:00:32,639 INFO L290 TraceCheckUtils]: 59: Hoare triple {5818#|main_#t~short20|} [177] L61-->L61-2: Formula: (not |v_main_#t~short20_1|) InVars {main_#t~short20=|v_main_#t~short20_1|} OutVars{main_#t~short20=|v_main_#t~short20_1|} AuxVars[] AssignedVars[] {5773#false} is VALID [2022-04-07 18:00:32,639 INFO L272 TraceCheckUtils]: 60: Hoare triple {5773#false} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {5773#false} is VALID [2022-04-07 18:00:32,639 INFO L290 TraceCheckUtils]: 61: Hoare triple {5773#false} [157] __VERIFIER_assertENTRY-->L10: 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] {5773#false} is VALID [2022-04-07 18:00:32,639 INFO L290 TraceCheckUtils]: 62: Hoare triple {5773#false} [164] L10-->L10-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[] {5773#false} is VALID [2022-04-07 18:00:32,640 INFO L290 TraceCheckUtils]: 63: Hoare triple {5773#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5773#false} is VALID [2022-04-07 18:00:32,640 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 18:00:32,640 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:32,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623095922] [2022-04-07 18:00:32,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [623095922] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 18:00:32,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 18:00:32,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-07 18:00:32,641 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2087483516] [2022-04-07 18:00:32,641 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 18:00:32,642 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-07 18:00:32,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:32,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:32,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:32,685 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 18:00:32,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:32,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 18:00:32,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2022-04-07 18:00:32,686 INFO L87 Difference]: Start difference. First operand 103 states and 126 transitions. Second operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:33,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:33,762 INFO L93 Difference]: Finished difference Result 107 states and 130 transitions. [2022-04-07 18:00:33,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 18:00:33,762 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-07 18:00:33,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:33,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:33,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-07 18:00:33,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:33,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-07 18:00:33,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-07 18:00:33,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:33,872 INFO L225 Difference]: With dead ends: 107 [2022-04-07 18:00:33,872 INFO L226 Difference]: Without dead ends: 107 [2022-04-07 18:00:33,873 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-07 18:00:33,873 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 77 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 84 SdHoareTripleChecker+Valid, 50 SdHoareTripleChecker+Invalid, 454 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:33,873 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [84 Valid, 50 Invalid, 454 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 389 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-07 18:00:33,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-07 18:00:33,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 103. [2022-04-07 18:00:33,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:33,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 103 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 75 states have internal predecessors, (87), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:33,887 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 103 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 75 states have internal predecessors, (87), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:33,887 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 103 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 75 states have internal predecessors, (87), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:33,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:33,890 INFO L93 Difference]: Finished difference Result 107 states and 130 transitions. [2022-04-07 18:00:33,890 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 130 transitions. [2022-04-07 18:00:33,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:33,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:33,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 75 states have internal predecessors, (87), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 107 states. [2022-04-07 18:00:33,892 INFO L87 Difference]: Start difference. First operand has 103 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 75 states have internal predecessors, (87), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 107 states. [2022-04-07 18:00:33,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:33,894 INFO L93 Difference]: Finished difference Result 107 states and 130 transitions. [2022-04-07 18:00:33,894 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 130 transitions. [2022-04-07 18:00:33,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:33,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:33,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:33,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:33,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 75 states have internal predecessors, (87), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:33,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 125 transitions. [2022-04-07 18:00:33,897 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 125 transitions. Word has length 64 [2022-04-07 18:00:33,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:33,897 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 125 transitions. [2022-04-07 18:00:33,897 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:33,897 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 125 transitions. [2022-04-07 18:00:33,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-07 18:00:33,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:33,900 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-04-07 18:00:33,900 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-04-07 18:00:33,900 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:33,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:33,901 INFO L85 PathProgramCache]: Analyzing trace with hash -1636548555, now seen corresponding path program 1 times [2022-04-07 18:00:33,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:33,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1083025214] [2022-04-07 18:00:33,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:33,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:33,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,960 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:33,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {6322#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {6275#true} is VALID [2022-04-07 18:00:33,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:33,964 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6275#true} {6275#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:33,964 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:33,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:33,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:33,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:33,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:33,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:33,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {6323#(= |#memory_int| |old(#memory_int)|)} [138] #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] {6275#true} is VALID [2022-04-07 18:00:33,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:33,973 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6275#true} {6275#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6275#true} is VALID [2022-04-07 18:00:33,973 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:33,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:33,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,988 INFO L290 TraceCheckUtils]: 0: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:33,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:33,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:33,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:33,989 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:33,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:33,991 INFO L290 TraceCheckUtils]: 0: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:33,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:33,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:33,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:33,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:33,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:34,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {6323#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L272 TraceCheckUtils]: 1: Hoare triple {6275#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L290 TraceCheckUtils]: 3: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L290 TraceCheckUtils]: 4: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,001 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {6275#true} {6275#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {6275#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6275#true} {6275#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L272 TraceCheckUtils]: 11: Hoare triple {6275#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L290 TraceCheckUtils]: 12: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L290 TraceCheckUtils]: 14: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,002 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6275#true} {6275#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {6275#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {6275#true} is VALID [2022-04-07 18:00:34,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {6275#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,003 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6275#true} {6275#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:34,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:34,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {6323#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {6275#true} is VALID [2022-04-07 18:00:34,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {6338#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,048 INFO L290 TraceCheckUtils]: 6: Hoare triple {6338#(<= finddup_~n (+ finddup_~i~1 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {6339#(<= finddup_~n (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {6339#(<= finddup_~n (+ finddup_~i~1 1))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6340#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:00:34,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {6340#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6276#false} is VALID [2022-04-07 18:00:34,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {6276#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {6276#false} is VALID [2022-04-07 18:00:34,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {6276#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,050 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6276#false} {6275#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6276#false} is VALID [2022-04-07 18:00:34,050 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 52 [2022-04-07 18:00:34,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:34,052 INFO L290 TraceCheckUtils]: 0: Hoare triple {6275#true} [157] __VERIFIER_assertENTRY-->L10: 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] {6275#true} is VALID [2022-04-07 18:00:34,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6276#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,053 INFO L272 TraceCheckUtils]: 0: Hoare triple {6275#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6322#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:34,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {6322#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {6275#true} is VALID [2022-04-07 18:00:34,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {6275#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,054 INFO L290 TraceCheckUtils]: 5: Hoare triple {6275#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {6275#true} is VALID [2022-04-07 18:00:34,054 INFO L272 TraceCheckUtils]: 6: Hoare triple {6275#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:34,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6275#true} {6275#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:34,055 INFO L290 TraceCheckUtils]: 11: Hoare triple {6275#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {6275#true} is VALID [2022-04-07 18:00:34,056 INFO L272 TraceCheckUtils]: 12: Hoare triple {6275#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6323#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:34,056 INFO L290 TraceCheckUtils]: 13: Hoare triple {6323#(= |#memory_int| |old(#memory_int)|)} [138] #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] {6275#true} is VALID [2022-04-07 18:00:34,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {6275#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,056 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6275#true} {6275#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6275#true} is VALID [2022-04-07 18:00:34,056 INFO L290 TraceCheckUtils]: 16: Hoare triple {6275#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L272 TraceCheckUtils]: 17: Hoare triple {6275#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6323#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:34,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {6323#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L272 TraceCheckUtils]: 19: Hoare triple {6275#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L290 TraceCheckUtils]: 21: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L290 TraceCheckUtils]: 22: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6275#true} {6275#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L272 TraceCheckUtils]: 24: Hoare triple {6275#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6275#true} {6275#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L272 TraceCheckUtils]: 29: Hoare triple {6275#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 32: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6275#true} {6275#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {6275#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {6275#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,058 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6275#true} {6275#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,059 INFO L290 TraceCheckUtils]: 37: Hoare triple {6275#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {6275#true} is VALID [2022-04-07 18:00:34,060 INFO L272 TraceCheckUtils]: 38: Hoare triple {6275#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6323#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:34,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {6323#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {6275#true} is VALID [2022-04-07 18:00:34,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {6275#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,061 INFO L290 TraceCheckUtils]: 41: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,062 INFO L290 TraceCheckUtils]: 44: Hoare triple {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {6338#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,062 INFO L290 TraceCheckUtils]: 45: Hoare triple {6338#(<= finddup_~n (+ finddup_~i~1 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {6339#(<= finddup_~n (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,063 INFO L290 TraceCheckUtils]: 46: Hoare triple {6339#(<= finddup_~n (+ finddup_~i~1 1))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6340#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:00:34,063 INFO L290 TraceCheckUtils]: 47: Hoare triple {6340#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6276#false} is VALID [2022-04-07 18:00:34,063 INFO L290 TraceCheckUtils]: 48: Hoare triple {6276#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 49: Hoare triple {6276#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6276#false} {6275#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 51: Hoare triple {6276#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L272 TraceCheckUtils]: 52: Hoare triple {6276#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6275#true} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 53: Hoare triple {6275#true} [157] __VERIFIER_assertENTRY-->L10: 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] {6275#true} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 54: Hoare triple {6275#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 55: Hoare triple {6275#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,064 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6275#true} {6276#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 57: Hoare triple {6276#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L290 TraceCheckUtils]: 58: Hoare triple {6276#false} [163] L60-->L60-2: Formula: (not |v_main_#t~short17_4|) InVars {main_#t~short17=|v_main_#t~short17_4|} OutVars{main_#t~short17=|v_main_#t~short17_4|} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,064 INFO L272 TraceCheckUtils]: 59: Hoare triple {6276#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {6276#false} is VALID [2022-04-07 18:00:34,065 INFO L290 TraceCheckUtils]: 60: Hoare triple {6276#false} [157] __VERIFIER_assertENTRY-->L10: 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] {6276#false} is VALID [2022-04-07 18:00:34,065 INFO L290 TraceCheckUtils]: 61: Hoare triple {6276#false} [164] L10-->L10-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[] {6276#false} is VALID [2022-04-07 18:00:34,065 INFO L290 TraceCheckUtils]: 62: Hoare triple {6276#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,065 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 18:00:34,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:34,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1083025214] [2022-04-07 18:00:34,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1083025214] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:00:34,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [460021113] [2022-04-07 18:00:34,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:34,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:34,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:00:34,067 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:00:34,107 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-07 18:00:34,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:34,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 270 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-07 18:00:34,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:34,187 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:00:34,333 INFO L272 TraceCheckUtils]: 0: Hoare triple {6275#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L272 TraceCheckUtils]: 4: Hoare triple {6275#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {6275#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L272 TraceCheckUtils]: 6: Hoare triple {6275#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:34,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6275#true} {6275#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L290 TraceCheckUtils]: 11: Hoare triple {6275#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L272 TraceCheckUtils]: 12: Hoare triple {6275#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {6275#true} [138] #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] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {6275#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6275#true} {6275#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6275#true} is VALID [2022-04-07 18:00:34,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {6275#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L272 TraceCheckUtils]: 17: Hoare triple {6275#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {6275#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L272 TraceCheckUtils]: 19: Hoare triple {6275#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L290 TraceCheckUtils]: 21: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L290 TraceCheckUtils]: 22: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6275#true} {6275#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L272 TraceCheckUtils]: 24: Hoare triple {6275#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L290 TraceCheckUtils]: 27: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6275#true} {6275#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L272 TraceCheckUtils]: 29: Hoare triple {6275#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L290 TraceCheckUtils]: 30: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L290 TraceCheckUtils]: 32: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,336 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6275#true} {6275#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {6275#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {6275#true} is VALID [2022-04-07 18:00:34,337 INFO L290 TraceCheckUtils]: 35: Hoare triple {6275#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,337 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6275#true} {6275#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,337 INFO L290 TraceCheckUtils]: 37: Hoare triple {6275#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {6275#true} is VALID [2022-04-07 18:00:34,337 INFO L272 TraceCheckUtils]: 38: Hoare triple {6275#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6275#true} is VALID [2022-04-07 18:00:34,337 INFO L290 TraceCheckUtils]: 39: Hoare triple {6275#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {6275#true} is VALID [2022-04-07 18:00:34,343 INFO L290 TraceCheckUtils]: 40: Hoare triple {6275#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,344 INFO L290 TraceCheckUtils]: 41: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,344 INFO L290 TraceCheckUtils]: 42: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,345 INFO L290 TraceCheckUtils]: 43: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,345 INFO L290 TraceCheckUtils]: 44: Hoare triple {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {6338#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,346 INFO L290 TraceCheckUtils]: 45: Hoare triple {6338#(<= finddup_~n (+ finddup_~i~1 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {6339#(<= finddup_~n (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,346 INFO L290 TraceCheckUtils]: 46: Hoare triple {6339#(<= finddup_~n (+ finddup_~i~1 1))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6340#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:00:34,347 INFO L290 TraceCheckUtils]: 47: Hoare triple {6340#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6276#false} is VALID [2022-04-07 18:00:34,347 INFO L290 TraceCheckUtils]: 48: Hoare triple {6276#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {6276#false} is VALID [2022-04-07 18:00:34,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {6276#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,347 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6276#false} {6275#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6276#false} is VALID [2022-04-07 18:00:34,347 INFO L290 TraceCheckUtils]: 51: Hoare triple {6276#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,347 INFO L272 TraceCheckUtils]: 52: Hoare triple {6276#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,347 INFO L290 TraceCheckUtils]: 53: Hoare triple {6276#false} [157] __VERIFIER_assertENTRY-->L10: 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] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 54: Hoare triple {6276#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 55: Hoare triple {6276#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6276#false} {6276#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 57: Hoare triple {6276#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 58: Hoare triple {6276#false} [163] L60-->L60-2: Formula: (not |v_main_#t~short17_4|) InVars {main_#t~short17=|v_main_#t~short17_4|} OutVars{main_#t~short17=|v_main_#t~short17_4|} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L272 TraceCheckUtils]: 59: Hoare triple {6276#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 60: Hoare triple {6276#false} [157] __VERIFIER_assertENTRY-->L10: 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] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 61: Hoare triple {6276#false} [164] L10-->L10-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[] {6276#false} is VALID [2022-04-07 18:00:34,348 INFO L290 TraceCheckUtils]: 62: Hoare triple {6276#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,349 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-07 18:00:34,350 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:00:34,558 INFO L290 TraceCheckUtils]: 62: Hoare triple {6276#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 61: Hoare triple {6276#false} [164] L10-->L10-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[] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 60: Hoare triple {6276#false} [157] __VERIFIER_assertENTRY-->L10: 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] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L272 TraceCheckUtils]: 59: Hoare triple {6276#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 58: Hoare triple {6276#false} [163] L60-->L60-2: Formula: (not |v_main_#t~short17_4|) InVars {main_#t~short17=|v_main_#t~short17_4|} OutVars{main_#t~short17=|v_main_#t~short17_4|} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 57: Hoare triple {6276#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6275#true} {6276#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 55: Hoare triple {6275#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {6275#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 53: Hoare triple {6275#true} [157] __VERIFIER_assertENTRY-->L10: 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] {6275#true} is VALID [2022-04-07 18:00:34,559 INFO L272 TraceCheckUtils]: 52: Hoare triple {6276#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {6275#true} is VALID [2022-04-07 18:00:34,559 INFO L290 TraceCheckUtils]: 51: Hoare triple {6276#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {6276#false} is VALID [2022-04-07 18:00:34,560 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6276#false} {6275#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6276#false} is VALID [2022-04-07 18:00:34,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {6276#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6276#false} is VALID [2022-04-07 18:00:34,560 INFO L290 TraceCheckUtils]: 48: Hoare triple {6276#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {6276#false} is VALID [2022-04-07 18:00:34,561 INFO L290 TraceCheckUtils]: 47: Hoare triple {6340#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6276#false} is VALID [2022-04-07 18:00:34,562 INFO L290 TraceCheckUtils]: 46: Hoare triple {6339#(<= finddup_~n (+ finddup_~i~1 1))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6340#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:00:34,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {6338#(<= finddup_~n (+ finddup_~i~1 2))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {6339#(<= finddup_~n (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,563 INFO L290 TraceCheckUtils]: 44: Hoare triple {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {6338#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,563 INFO L290 TraceCheckUtils]: 43: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {6337#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:00:34,564 INFO L290 TraceCheckUtils]: 42: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,564 INFO L290 TraceCheckUtils]: 41: Hoare triple {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,564 INFO L290 TraceCheckUtils]: 40: Hoare triple {6275#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {6336#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:00:34,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {6275#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {6275#true} is VALID [2022-04-07 18:00:34,564 INFO L272 TraceCheckUtils]: 38: Hoare triple {6275#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {6275#true} is VALID [2022-04-07 18:00:34,564 INFO L290 TraceCheckUtils]: 37: Hoare triple {6275#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6275#true} {6275#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L290 TraceCheckUtils]: 35: Hoare triple {6275#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {6275#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6275#true} {6275#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L290 TraceCheckUtils]: 31: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L272 TraceCheckUtils]: 29: Hoare triple {6275#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6275#true} {6275#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,565 INFO L290 TraceCheckUtils]: 27: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {6275#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6275#true} {6275#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L290 TraceCheckUtils]: 22: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L290 TraceCheckUtils]: 21: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L272 TraceCheckUtils]: 19: Hoare triple {6275#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {6275#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L272 TraceCheckUtils]: 17: Hoare triple {6275#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {6275#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6275#true} {6275#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L290 TraceCheckUtils]: 14: Hoare triple {6275#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L290 TraceCheckUtils]: 13: Hoare triple {6275#true} [138] #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] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L272 TraceCheckUtils]: 12: Hoare triple {6275#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L290 TraceCheckUtils]: 11: Hoare triple {6275#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6275#true} {6275#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:34,567 INFO L290 TraceCheckUtils]: 9: Hoare triple {6275#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {6275#true} [136] L16-->L16-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[] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L290 TraceCheckUtils]: 7: Hoare triple {6275#true} [133] assume_abort_if_notENTRY-->L16: 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] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L272 TraceCheckUtils]: 6: Hoare triple {6275#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {6275#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {6275#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6275#true} {6275#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {6275#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {6275#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {6275#true} is VALID [2022-04-07 18:00:34,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {6275#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6275#true} is VALID [2022-04-07 18:00:34,569 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 18:00:34,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [460021113] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 18:00:34,569 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 18:00:34,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 9 [2022-04-07 18:00:34,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2110974654] [2022-04-07 18:00:34,569 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 18:00:34,570 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 63 [2022-04-07 18:00:34,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:34,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:34,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:34,624 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 18:00:34,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:34,624 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 18:00:34,624 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 18:00:34,624 INFO L87 Difference]: Start difference. First operand 103 states and 125 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:35,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:35,369 INFO L93 Difference]: Finished difference Result 116 states and 138 transitions. [2022-04-07 18:00:35,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-07 18:00:35,369 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 63 [2022-04-07 18:00:35,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:35,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:35,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 86 transitions. [2022-04-07 18:00:35,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:35,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 86 transitions. [2022-04-07 18:00:35,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 86 transitions. [2022-04-07 18:00:35,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:35,459 INFO L225 Difference]: With dead ends: 116 [2022-04-07 18:00:35,459 INFO L226 Difference]: Without dead ends: 112 [2022-04-07 18:00:35,459 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=191, Unknown=0, NotChecked=0, Total=272 [2022-04-07 18:00:35,460 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 86 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 362 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 362 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:35,460 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 56 Invalid, 416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 362 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-07 18:00:35,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2022-04-07 18:00:35,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 100. [2022-04-07 18:00:35,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:35,466 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand has 100 states, 69 states have (on average 1.173913043478261) internal successors, (81), 72 states have internal predecessors, (81), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:35,466 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand has 100 states, 69 states have (on average 1.173913043478261) internal successors, (81), 72 states have internal predecessors, (81), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:35,466 INFO L87 Difference]: Start difference. First operand 112 states. Second operand has 100 states, 69 states have (on average 1.173913043478261) internal successors, (81), 72 states have internal predecessors, (81), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:35,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:35,469 INFO L93 Difference]: Finished difference Result 112 states and 133 transitions. [2022-04-07 18:00:35,469 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 133 transitions. [2022-04-07 18:00:35,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:35,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:35,470 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 69 states have (on average 1.173913043478261) internal successors, (81), 72 states have internal predecessors, (81), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 112 states. [2022-04-07 18:00:35,470 INFO L87 Difference]: Start difference. First operand has 100 states, 69 states have (on average 1.173913043478261) internal successors, (81), 72 states have internal predecessors, (81), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 112 states. [2022-04-07 18:00:35,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:35,473 INFO L93 Difference]: Finished difference Result 112 states and 133 transitions. [2022-04-07 18:00:35,473 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 133 transitions. [2022-04-07 18:00:35,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:35,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:35,474 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:35,474 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:35,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 69 states have (on average 1.173913043478261) internal successors, (81), 72 states have internal predecessors, (81), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-07 18:00:35,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 119 transitions. [2022-04-07 18:00:35,476 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 119 transitions. Word has length 63 [2022-04-07 18:00:35,476 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:35,476 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 119 transitions. [2022-04-07 18:00:35,476 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 7 states have internal predecessors, (40), 2 states have call successors, (16), 4 states have call predecessors, (16), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-07 18:00:35,476 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 119 transitions. [2022-04-07 18:00:35,477 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-07 18:00:35,477 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:35,477 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 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] [2022-04-07 18:00:35,500 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-07 18:00:35,691 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:35,691 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:35,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:35,692 INFO L85 PathProgramCache]: Analyzing trace with hash 937349773, now seen corresponding path program 2 times [2022-04-07 18:00:35,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:35,692 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [545145621] [2022-04-07 18:00:35,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:35,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:35,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,763 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:35,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,767 INFO L290 TraceCheckUtils]: 0: Hoare triple {7230#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {7175#true} is VALID [2022-04-07 18:00:35,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {7175#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,767 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7175#true} {7175#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:35,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7175#true} {7175#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7175#true} is VALID [2022-04-07 18:00:35,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:35,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,779 INFO L290 TraceCheckUtils]: 0: Hoare triple {7231#(= |#memory_int| |old(#memory_int)|)} [138] #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] {7175#true} is VALID [2022-04-07 18:00:35,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {7175#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,779 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7175#true} {7175#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7175#true} is VALID [2022-04-07 18:00:35,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:35,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:35,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7175#true} {7175#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:35,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7175#true} {7175#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7175#true} is VALID [2022-04-07 18:00:35,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:35,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7175#true} {7175#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {7231#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,794 INFO L272 TraceCheckUtils]: 1: Hoare triple {7175#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L290 TraceCheckUtils]: 3: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L290 TraceCheckUtils]: 4: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7175#true} {7175#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L272 TraceCheckUtils]: 6: Hoare triple {7175#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L290 TraceCheckUtils]: 7: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L290 TraceCheckUtils]: 9: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,795 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7175#true} {7175#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L272 TraceCheckUtils]: 11: Hoare triple {7175#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7175#true} {7175#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L290 TraceCheckUtils]: 16: Hoare triple {7175#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L290 TraceCheckUtils]: 17: Hoare triple {7175#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7175#true} {7175#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7175#true} is VALID [2022-04-07 18:00:35,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:35,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {7231#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,904 INFO L290 TraceCheckUtils]: 3: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,904 INFO L290 TraceCheckUtils]: 4: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,905 INFO L290 TraceCheckUtils]: 6: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,908 INFO L290 TraceCheckUtils]: 11: Hoare triple {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,909 INFO L290 TraceCheckUtils]: 12: Hoare triple {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-07 18:00:35,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-07 18:00:35,910 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} {7206#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7222#(or (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-07 18:00:35,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-07 18:00:35,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:35,947 INFO L290 TraceCheckUtils]: 0: Hoare triple {7175#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7247#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:00:35,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {7247#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:35,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:35,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} {7223#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7228#(<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-07 18:00:35,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {7175#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7230#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:35,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {7230#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {7175#true} is VALID [2022-04-07 18:00:35,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {7175#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7175#true} {7175#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {7175#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {7175#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {7175#true} is VALID [2022-04-07 18:00:35,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {7175#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7175#true} is VALID [2022-04-07 18:00:35,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,952 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7175#true} {7175#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7175#true} is VALID [2022-04-07 18:00:35,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {7175#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {7175#true} is VALID [2022-04-07 18:00:35,953 INFO L272 TraceCheckUtils]: 12: Hoare triple {7175#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7231#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:35,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {7231#(= |#memory_int| |old(#memory_int)|)} [138] #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] {7175#true} is VALID [2022-04-07 18:00:35,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {7175#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,953 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7175#true} {7175#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7175#true} is VALID [2022-04-07 18:00:35,954 INFO L290 TraceCheckUtils]: 16: Hoare triple {7175#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {7175#true} is VALID [2022-04-07 18:00:35,954 INFO L272 TraceCheckUtils]: 17: Hoare triple {7175#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7231#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {7231#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L272 TraceCheckUtils]: 19: Hoare triple {7175#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7175#true} {7175#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L272 TraceCheckUtils]: 24: Hoare triple {7175#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 25: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 26: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,955 INFO L290 TraceCheckUtils]: 27: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7175#true} {7175#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L272 TraceCheckUtils]: 29: Hoare triple {7175#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {7175#true} [133] assume_abort_if_notENTRY-->L16: 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] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {7175#true} [136] L16-->L16-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[] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {7175#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7175#true} {7175#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L290 TraceCheckUtils]: 34: Hoare triple {7175#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L290 TraceCheckUtils]: 35: Hoare triple {7175#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7175#true} is VALID [2022-04-07 18:00:35,956 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7175#true} {7175#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7175#true} is VALID [2022-04-07 18:00:35,957 INFO L290 TraceCheckUtils]: 37: Hoare triple {7175#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {7206#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-07 18:00:35,958 INFO L272 TraceCheckUtils]: 38: Hoare triple {7206#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7231#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:35,959 INFO L290 TraceCheckUtils]: 39: Hoare triple {7231#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,959 INFO L290 TraceCheckUtils]: 40: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,960 INFO L290 TraceCheckUtils]: 41: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,960 INFO L290 TraceCheckUtils]: 42: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,961 INFO L290 TraceCheckUtils]: 43: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,962 INFO L290 TraceCheckUtils]: 44: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,962 INFO L290 TraceCheckUtils]: 45: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,963 INFO L290 TraceCheckUtils]: 46: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,963 INFO L290 TraceCheckUtils]: 47: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,964 INFO L290 TraceCheckUtils]: 48: Hoare triple {7244#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,964 INFO L290 TraceCheckUtils]: 49: Hoare triple {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,965 INFO L290 TraceCheckUtils]: 50: Hoare triple {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-07 18:00:35,966 INFO L290 TraceCheckUtils]: 51: Hoare triple {7245#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-07 18:00:35,966 INFO L290 TraceCheckUtils]: 52: Hoare triple {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-07 18:00:35,967 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {7246#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} {7206#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7222#(or (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-07 18:00:35,968 INFO L290 TraceCheckUtils]: 54: Hoare triple {7222#(or (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {7223#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:35,968 INFO L272 TraceCheckUtils]: 55: Hoare triple {7223#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7175#true} is VALID [2022-04-07 18:00:35,968 INFO L290 TraceCheckUtils]: 56: Hoare triple {7175#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7247#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:00:35,968 INFO L290 TraceCheckUtils]: 57: Hoare triple {7247#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:35,969 INFO L290 TraceCheckUtils]: 58: Hoare triple {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:35,969 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7248#(not (= |__VERIFIER_assert_#in~cond| 0))} {7223#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7228#(<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-07 18:00:35,970 INFO L290 TraceCheckUtils]: 60: Hoare triple {7228#(<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {7229#|main_#t~short17|} is VALID [2022-04-07 18:00:35,970 INFO L290 TraceCheckUtils]: 61: Hoare triple {7229#|main_#t~short17|} [163] L60-->L60-2: Formula: (not |v_main_#t~short17_4|) InVars {main_#t~short17=|v_main_#t~short17_4|} OutVars{main_#t~short17=|v_main_#t~short17_4|} AuxVars[] AssignedVars[] {7176#false} is VALID [2022-04-07 18:00:35,970 INFO L272 TraceCheckUtils]: 62: Hoare triple {7176#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7176#false} is VALID [2022-04-07 18:00:35,970 INFO L290 TraceCheckUtils]: 63: Hoare triple {7176#false} [157] __VERIFIER_assertENTRY-->L10: 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] {7176#false} is VALID [2022-04-07 18:00:35,970 INFO L290 TraceCheckUtils]: 64: Hoare triple {7176#false} [164] L10-->L10-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[] {7176#false} is VALID [2022-04-07 18:00:35,970 INFO L290 TraceCheckUtils]: 65: Hoare triple {7176#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7176#false} is VALID [2022-04-07 18:00:35,971 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-04-07 18:00:35,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:35,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [545145621] [2022-04-07 18:00:35,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [545145621] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 18:00:35,971 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 18:00:35,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-07 18:00:35,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [892789550] [2022-04-07 18:00:35,971 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 18:00:35,972 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-07 18:00:35,972 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:35,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 18:00:36,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:36,020 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 18:00:36,020 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:36,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 18:00:36,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=154, Unknown=0, NotChecked=0, Total=182 [2022-04-07 18:00:36,020 INFO L87 Difference]: Start difference. First operand 100 states and 119 transitions. Second operand has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 18:00:37,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:37,791 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-07 18:00:37,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-07 18:00:37,792 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-07 18:00:37,792 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:37,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 18:00:37,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 93 transitions. [2022-04-07 18:00:37,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 18:00:37,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 93 transitions. [2022-04-07 18:00:37,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 93 transitions. [2022-04-07 18:00:37,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:37,909 INFO L225 Difference]: With dead ends: 108 [2022-04-07 18:00:37,909 INFO L226 Difference]: Without dead ends: 108 [2022-04-07 18:00:37,910 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=498, Unknown=0, NotChecked=0, Total=600 [2022-04-07 18:00:37,910 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 87 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 800 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 883 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 800 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:37,910 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [88 Valid, 67 Invalid, 883 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 800 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-07 18:00:37,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-07 18:00:37,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 90. [2022-04-07 18:00:37,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:37,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 90 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 64 states have internal predecessors, (71), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:00:37,914 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 90 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 64 states have internal predecessors, (71), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:00:37,914 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 90 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 64 states have internal predecessors, (71), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:00:37,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:37,917 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-07 18:00:37,917 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-07 18:00:37,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:37,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:37,918 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 64 states have internal predecessors, (71), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) Second operand 108 states. [2022-04-07 18:00:37,918 INFO L87 Difference]: Start difference. First operand has 90 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 64 states have internal predecessors, (71), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) Second operand 108 states. [2022-04-07 18:00:37,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:37,921 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-07 18:00:37,921 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-07 18:00:37,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:37,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:37,921 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:37,921 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:37,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 64 states have internal predecessors, (71), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:00:37,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 104 transitions. [2022-04-07 18:00:37,923 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 104 transitions. Word has length 66 [2022-04-07 18:00:37,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:37,924 INFO L478 AbstractCegarLoop]: Abstraction has 90 states and 104 transitions. [2022-04-07 18:00:37,924 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-07 18:00:37,924 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 104 transitions. [2022-04-07 18:00:37,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2022-04-07 18:00:37,925 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:37,925 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 18:00:37,925 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-04-07 18:00:37,925 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:37,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:37,925 INFO L85 PathProgramCache]: Analyzing trace with hash -455253687, now seen corresponding path program 1 times [2022-04-07 18:00:37,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:37,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1657083877] [2022-04-07 18:00:37,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:37,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:37,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:38,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,051 INFO L290 TraceCheckUtils]: 0: Hoare triple {7745#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {7688#true} is VALID [2022-04-07 18:00:38,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,051 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7688#true} {7688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,052 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:38,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:38,064 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:38,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,067 INFO L290 TraceCheckUtils]: 0: Hoare triple {7746#(= |#memory_int| |old(#memory_int)|)} [138] #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] {7688#true} is VALID [2022-04-07 18:00:38,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,067 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7688#true} {7688#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7688#true} is VALID [2022-04-07 18:00:38,068 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:38,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,075 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:38,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,078 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:38,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,081 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:38,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:38,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,083 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {7746#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L272 TraceCheckUtils]: 1: Hoare triple {7688#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L290 TraceCheckUtils]: 3: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L290 TraceCheckUtils]: 4: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7688#true} {7688#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L272 TraceCheckUtils]: 6: Hoare triple {7688#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7688#true} {7688#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L272 TraceCheckUtils]: 11: Hoare triple {7688#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L290 TraceCheckUtils]: 12: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7688#true} {7688#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {7688#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {7688#true} is VALID [2022-04-07 18:00:38,085 INFO L290 TraceCheckUtils]: 17: Hoare triple {7688#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,086 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7688#true} {7688#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:38,086 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:38,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,182 INFO L290 TraceCheckUtils]: 0: Hoare triple {7746#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {7759#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:38,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {7759#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:38,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:38,184 INFO L290 TraceCheckUtils]: 3: Hoare triple {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:00:38,185 INFO L290 TraceCheckUtils]: 4: Hoare triple {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:00:38,186 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7726#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-07 18:00:38,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-07 18:00:38,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:00:38,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {7762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:38,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:38,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} {7727#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-07 18:00:38,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:38,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,220 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 60 [2022-04-07 18:00:38,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,225 INFO L290 TraceCheckUtils]: 0: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:38,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,226 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {7688#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7745#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:38,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {7745#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {7688#true} is VALID [2022-04-07 18:00:38,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {7688#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {7688#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {7688#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7688#true} {7688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:38,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {7688#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {7688#true} is VALID [2022-04-07 18:00:38,229 INFO L272 TraceCheckUtils]: 12: Hoare triple {7688#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7746#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:38,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {7746#(= |#memory_int| |old(#memory_int)|)} [138] #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] {7688#true} is VALID [2022-04-07 18:00:38,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {7688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,229 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7688#true} {7688#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7688#true} is VALID [2022-04-07 18:00:38,229 INFO L290 TraceCheckUtils]: 16: Hoare triple {7688#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:38,230 INFO L272 TraceCheckUtils]: 17: Hoare triple {7688#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7746#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:38,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {7746#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,230 INFO L272 TraceCheckUtils]: 19: Hoare triple {7688#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,230 INFO L290 TraceCheckUtils]: 20: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7688#true} {7688#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L272 TraceCheckUtils]: 24: Hoare triple {7688#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L290 TraceCheckUtils]: 27: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7688#true} {7688#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L272 TraceCheckUtils]: 29: Hoare triple {7688#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:38,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:38,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,232 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7688#true} {7688#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:38,232 INFO L290 TraceCheckUtils]: 34: Hoare triple {7688#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {7688#true} is VALID [2022-04-07 18:00:38,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {7688#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,232 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7688#true} {7688#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:38,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {7688#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-07 18:00:38,234 INFO L272 TraceCheckUtils]: 38: Hoare triple {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7746#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:38,235 INFO L290 TraceCheckUtils]: 39: Hoare triple {7746#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {7759#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:38,235 INFO L290 TraceCheckUtils]: 40: Hoare triple {7759#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:38,236 INFO L290 TraceCheckUtils]: 41: Hoare triple {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:38,237 INFO L290 TraceCheckUtils]: 42: Hoare triple {7760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:00:38,237 INFO L290 TraceCheckUtils]: 43: Hoare triple {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:00:38,240 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7761#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7726#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-07 18:00:38,241 INFO L290 TraceCheckUtils]: 45: Hoare triple {7726#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {7727#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-07 18:00:38,241 INFO L272 TraceCheckUtils]: 46: Hoare triple {7727#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7688#true} is VALID [2022-04-07 18:00:38,241 INFO L290 TraceCheckUtils]: 47: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:00:38,242 INFO L290 TraceCheckUtils]: 48: Hoare triple {7762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:38,242 INFO L290 TraceCheckUtils]: 49: Hoare triple {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:38,243 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} {7727#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,243 INFO L290 TraceCheckUtils]: 51: Hoare triple {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,244 INFO L290 TraceCheckUtils]: 52: Hoare triple {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,244 INFO L272 TraceCheckUtils]: 53: Hoare triple {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7688#true} is VALID [2022-04-07 18:00:38,244 INFO L290 TraceCheckUtils]: 54: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:38,244 INFO L290 TraceCheckUtils]: 55: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,244 INFO L290 TraceCheckUtils]: 56: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,245 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {7688#true} {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,246 INFO L290 TraceCheckUtils]: 58: Hoare triple {7732#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,246 INFO L290 TraceCheckUtils]: 59: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,246 INFO L272 TraceCheckUtils]: 60: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7688#true} is VALID [2022-04-07 18:00:38,246 INFO L290 TraceCheckUtils]: 61: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:38,246 INFO L290 TraceCheckUtils]: 62: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,247 INFO L290 TraceCheckUtils]: 63: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:38,247 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7688#true} {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:38,248 INFO L290 TraceCheckUtils]: 65: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {7742#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-07 18:00:38,248 INFO L272 TraceCheckUtils]: 66: Hoare triple {7742#(not (= |main_#t~mem22| |main_#t~mem21|))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:00:38,249 INFO L290 TraceCheckUtils]: 67: Hoare triple {7743#(not (= |__VERIFIER_assert_#in~cond| 0))} [157] __VERIFIER_assertENTRY-->L10: 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] {7744#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 18:00:38,249 INFO L290 TraceCheckUtils]: 68: Hoare triple {7744#(not (= __VERIFIER_assert_~cond 0))} [164] L10-->L10-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[] {7689#false} is VALID [2022-04-07 18:00:38,249 INFO L290 TraceCheckUtils]: 69: Hoare triple {7689#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7689#false} is VALID [2022-04-07 18:00:38,252 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 5 proven. 7 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-07 18:00:38,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:38,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1657083877] [2022-04-07 18:00:38,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1657083877] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:00:38,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [70129107] [2022-04-07 18:00:38,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:38,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:38,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:00:38,256 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:00:38,286 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 18:00:38,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,362 INFO L263 TraceCheckSpWp]: Trace formula consists of 288 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-07 18:00:38,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:38,377 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:00:38,448 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 10 treesize of output 8 [2022-04-07 18:00:38,564 INFO L356 Elim1Store]: treesize reduction 13, result has 58.1 percent of original size [2022-04-07 18:00:38,564 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 46 treesize of output 54 [2022-04-07 18:00:38,593 INFO L356 Elim1Store]: treesize reduction 35, result has 34.0 percent of original size [2022-04-07 18:00:38,593 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 46 treesize of output 71 [2022-04-07 18:00:38,600 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 8 treesize of output 7 [2022-04-07 18:00:38,640 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 17 [2022-04-07 18:00:38,643 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 5 treesize of output 3 [2022-04-07 18:00:38,685 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 8 treesize of output 7 [2022-04-07 18:00:38,701 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 36 treesize of output 32 [2022-04-07 18:00:38,722 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 8 treesize of output 7 [2022-04-07 18:00:39,350 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-07 18:00:39,350 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 17 [2022-04-07 18:00:39,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {7688#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {7688#true} is VALID [2022-04-07 18:00:39,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {7688#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {7688#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {7688#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7688#true} {7688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {7688#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {7688#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {7688#true} [138] #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] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {7688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,420 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7688#true} {7688#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {7688#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L272 TraceCheckUtils]: 17: Hoare triple {7688#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {7688#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L272 TraceCheckUtils]: 19: Hoare triple {7688#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 21: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 22: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7688#true} {7688#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L272 TraceCheckUtils]: 24: Hoare triple {7688#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 25: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 26: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L290 TraceCheckUtils]: 27: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,421 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7688#true} {7688#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L272 TraceCheckUtils]: 29: Hoare triple {7688#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L290 TraceCheckUtils]: 31: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L290 TraceCheckUtils]: 32: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7688#true} {7688#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {7688#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {7688#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:39,422 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7688#true} {7688#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:39,423 INFO L290 TraceCheckUtils]: 37: Hoare triple {7688#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {7877#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:00:39,423 INFO L272 TraceCheckUtils]: 38: Hoare triple {7877#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7688#true} is VALID [2022-04-07 18:00:39,423 INFO L290 TraceCheckUtils]: 39: Hoare triple {7688#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {7759#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:39,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {7759#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {7887#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:39,424 INFO L290 TraceCheckUtils]: 41: Hoare triple {7887#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {7887#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:00:39,425 INFO L290 TraceCheckUtils]: 42: Hoare triple {7887#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {7894#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} is VALID [2022-04-07 18:00:39,425 INFO L290 TraceCheckUtils]: 43: Hoare triple {7894#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7894#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} is VALID [2022-04-07 18:00:39,427 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7894#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} {7877#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,427 INFO L290 TraceCheckUtils]: 45: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,428 INFO L272 TraceCheckUtils]: 46: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,428 INFO L290 TraceCheckUtils]: 47: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [157] __VERIFIER_assertENTRY-->L10: 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] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,440 INFO L290 TraceCheckUtils]: 48: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,441 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,442 INFO L290 TraceCheckUtils]: 51: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,443 INFO L290 TraceCheckUtils]: 52: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,444 INFO L272 TraceCheckUtils]: 53: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,445 INFO L290 TraceCheckUtils]: 54: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [157] __VERIFIER_assertENTRY-->L10: 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] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,445 INFO L290 TraceCheckUtils]: 55: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,446 INFO L290 TraceCheckUtils]: 56: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,446 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,447 INFO L290 TraceCheckUtils]: 58: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,448 INFO L290 TraceCheckUtils]: 59: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,449 INFO L272 TraceCheckUtils]: 60: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,449 INFO L290 TraceCheckUtils]: 61: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [157] __VERIFIER_assertENTRY-->L10: 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] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,450 INFO L290 TraceCheckUtils]: 62: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,452 INFO L290 TraceCheckUtils]: 63: Hoare triple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-07 18:00:39,452 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7908#(and (exists ((|v_main_~#i~2.base_BEFORE_CALL_4| Int)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0)) (exists ((|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:00:39,453 INFO L290 TraceCheckUtils]: 65: Hoare triple {7901#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {7966#(and (= |main_#t~mem22| 1) (= |main_#t~mem21| 0))} is VALID [2022-04-07 18:00:39,454 INFO L272 TraceCheckUtils]: 66: Hoare triple {7966#(and (= |main_#t~mem22| 1) (= |main_#t~mem21| 0))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {7970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 18:00:39,454 INFO L290 TraceCheckUtils]: 67: Hoare triple {7970#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {7974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:00:39,454 INFO L290 TraceCheckUtils]: 68: Hoare triple {7974#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {7689#false} is VALID [2022-04-07 18:00:39,455 INFO L290 TraceCheckUtils]: 69: Hoare triple {7689#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7689#false} is VALID [2022-04-07 18:00:39,455 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-07 18:00:39,455 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:00:39,698 INFO L356 Elim1Store]: treesize reduction 28, result has 33.3 percent of original size [2022-04-07 18:00:39,698 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 56 treesize of output 52 [2022-04-07 18:00:39,720 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:39,720 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 38 treesize of output 42 [2022-04-07 18:00:39,727 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:39,728 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 45 treesize of output 67 [2022-04-07 18:00:39,736 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 87 treesize of output 75 [2022-04-07 18:00:39,742 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-04-07 18:00:39,743 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 61 treesize of output 57 [2022-04-07 18:00:39,766 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 20 treesize of output 18 [2022-04-07 18:00:39,851 INFO L356 Elim1Store]: treesize reduction 13, result has 69.0 percent of original size [2022-04-07 18:00:39,853 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 94 treesize of output 87 [2022-04-07 18:00:39,903 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:39,903 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 195 treesize of output 215 [2022-04-07 18:00:39,940 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:39,941 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 219 treesize of output 216 [2022-04-07 18:00:40,097 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:40,111 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:40,129 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 8 treesize of output 6 [2022-04-07 18:00:40,158 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 11 treesize of output 9 [2022-04-07 18:00:40,179 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 8 treesize of output 6 [2022-04-07 18:00:40,345 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:40,346 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 1 case distinctions, treesize of input 15 treesize of output 11 [2022-04-07 18:00:40,424 INFO L356 Elim1Store]: treesize reduction 27, result has 3.6 percent of original size [2022-04-07 18:00:40,424 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 2 case distinctions, treesize of input 85 treesize of output 1 [2022-04-07 18:00:40,532 INFO L356 Elim1Store]: treesize reduction 10, result has 64.3 percent of original size [2022-04-07 18:00:40,532 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 2 case distinctions, treesize of input 78 treesize of output 84 [2022-04-07 18:00:40,634 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-07 18:00:40,635 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2022-04-07 18:00:40,840 INFO L356 Elim1Store]: treesize reduction 10, result has 64.3 percent of original size [2022-04-07 18:00:40,841 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 146 treesize of output 153 [2022-04-07 18:00:40,971 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,005 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:41,005 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 58 treesize of output 60 [2022-04-07 18:00:41,359 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-07 18:00:41,364 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2022-04-07 18:00:41,395 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 1 [2022-04-07 18:00:41,413 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:41,414 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 1 case distinctions, treesize of input 7 treesize of output 6 [2022-04-07 18:00:41,573 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,592 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,600 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,617 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,651 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,660 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 20 treesize of output 18 [2022-04-07 18:00:41,695 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:00:41,726 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 22 [2022-04-07 18:00:41,760 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-07 18:00:41,760 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 38 treesize of output 54 [2022-04-07 18:00:42,187 INFO L290 TraceCheckUtils]: 69: Hoare triple {7689#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7689#false} is VALID [2022-04-07 18:00:42,188 INFO L290 TraceCheckUtils]: 68: Hoare triple {7974#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {7689#false} is VALID [2022-04-07 18:00:42,188 INFO L290 TraceCheckUtils]: 67: Hoare triple {7970#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {7974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:00:42,189 INFO L272 TraceCheckUtils]: 66: Hoare triple {7742#(not (= |main_#t~mem22| |main_#t~mem21|))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {7970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 18:00:42,189 INFO L290 TraceCheckUtils]: 65: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {7742#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-07 18:00:42,190 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7688#true} {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,190 INFO L290 TraceCheckUtils]: 63: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,190 INFO L290 TraceCheckUtils]: 62: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:42,190 INFO L272 TraceCheckUtils]: 60: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {7688#true} is VALID [2022-04-07 18:00:42,191 INFO L290 TraceCheckUtils]: 59: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,191 INFO L290 TraceCheckUtils]: 58: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,192 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {7688#true} {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,192 INFO L290 TraceCheckUtils]: 56: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,192 INFO L290 TraceCheckUtils]: 55: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,192 INFO L290 TraceCheckUtils]: 54: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:42,192 INFO L272 TraceCheckUtils]: 53: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {7688#true} is VALID [2022-04-07 18:00:42,192 INFO L290 TraceCheckUtils]: 52: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,193 INFO L290 TraceCheckUtils]: 51: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,193 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7688#true} {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,193 INFO L290 TraceCheckUtils]: 49: Hoare triple {7688#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,193 INFO L290 TraceCheckUtils]: 48: Hoare triple {7688#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {7688#true} [157] __VERIFIER_assertENTRY-->L10: 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] {7688#true} is VALID [2022-04-07 18:00:42,194 INFO L272 TraceCheckUtils]: 46: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {7688#true} is VALID [2022-04-07 18:00:42,194 INFO L290 TraceCheckUtils]: 45: Hoare triple {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,195 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8059#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7737#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:00:42,196 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8059#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} is VALID [2022-04-07 18:00:42,196 INFO L290 TraceCheckUtils]: 42: Hoare triple {8066#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (not (= |finddup_#in~_i.base| finddup_~_j.base)))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {8059#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} is VALID [2022-04-07 18:00:42,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {8066#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (not (= |finddup_#in~_i.base| finddup_~_j.base)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8066#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (not (= |finddup_#in~_i.base| finddup_~_j.base)))))} is VALID [2022-04-07 18:00:42,198 INFO L290 TraceCheckUtils]: 40: Hoare triple {8073#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (= |finddup_#in~_j.base| finddup_~_i.base) (not (= |finddup_#in~_i.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)) (= |finddup_#in~_j.base| finddup_~_j.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8066#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (not (= |finddup_#in~_i.base| finddup_~_j.base)))))} is VALID [2022-04-07 18:00:42,199 INFO L290 TraceCheckUtils]: 39: Hoare triple {7688#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {8073#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (= |finddup_#in~_j.base| finddup_~_i.base) (not (= |finddup_#in~_i.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)) (= |finddup_#in~_j.base| finddup_~_j.base))))} is VALID [2022-04-07 18:00:42,199 INFO L272 TraceCheckUtils]: 38: Hoare triple {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {7688#true} is VALID [2022-04-07 18:00:42,199 INFO L290 TraceCheckUtils]: 37: Hoare triple {7688#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {7719#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-07 18:00:42,200 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7688#true} {7688#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {7688#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {7688#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7688#true} {7688#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 32: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 30: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L272 TraceCheckUtils]: 29: Hoare triple {7688#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7688#true} {7688#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L272 TraceCheckUtils]: 24: Hoare triple {7688#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7688#true} {7688#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L290 TraceCheckUtils]: 22: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L272 TraceCheckUtils]: 19: Hoare triple {7688#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {7688#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L272 TraceCheckUtils]: 17: Hoare triple {7688#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {7688#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {7688#true} is VALID [2022-04-07 18:00:42,201 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7688#true} {7688#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {7688#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {7688#true} [138] #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] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L272 TraceCheckUtils]: 12: Hoare triple {7688#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {7688#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7688#true} {7688#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {7688#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {7688#true} [136] L16-->L16-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[] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {7688#true} [133] assume_abort_if_notENTRY-->L16: 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] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L272 TraceCheckUtils]: 6: Hoare triple {7688#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {7688#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {7688#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7688#true} {7688#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {7688#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {7688#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {7688#true} is VALID [2022-04-07 18:00:42,203 INFO L272 TraceCheckUtils]: 0: Hoare triple {7688#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7688#true} is VALID [2022-04-07 18:00:42,203 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-07 18:00:42,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [70129107] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 18:00:42,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:00:42,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [16, 11] total 27 [2022-04-07 18:00:42,203 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [870253398] [2022-04-07 18:00:42,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 18:00:42,204 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) Word has length 70 [2022-04-07 18:00:42,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:00:42,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 18:00:42,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:42,243 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 18:00:42,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:00:42,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 18:00:42,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=625, Unknown=0, NotChecked=0, Total=702 [2022-04-07 18:00:42,244 INFO L87 Difference]: Start difference. First operand 90 states and 104 transitions. Second operand has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 18:00:42,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:42,805 INFO L93 Difference]: Finished difference Result 108 states and 125 transitions. [2022-04-07 18:00:42,805 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 18:00:42,805 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) Word has length 70 [2022-04-07 18:00:42,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:00:42,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 18:00:42,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-07 18:00:42,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 18:00:42,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-07 18:00:42,811 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 93 transitions. [2022-04-07 18:00:42,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:00:42,896 INFO L225 Difference]: With dead ends: 108 [2022-04-07 18:00:42,896 INFO L226 Difference]: Without dead ends: 108 [2022-04-07 18:00:42,896 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 143 SyntacticMatches, 6 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 188 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=831, Unknown=0, NotChecked=0, Total=930 [2022-04-07 18:00:42,897 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 39 mSDsluCounter, 347 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 406 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 18:00:42,897 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 406 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 18:00:42,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-07 18:00:42,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-07 18:00:42,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:00:42,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 72 states have (on average 1.125) internal successors, (81), 75 states have internal predecessors, (81), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:00:42,901 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 72 states have (on average 1.125) internal successors, (81), 75 states have internal predecessors, (81), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:00:42,901 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 72 states have (on average 1.125) internal successors, (81), 75 states have internal predecessors, (81), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:00:42,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:42,903 INFO L93 Difference]: Finished difference Result 108 states and 125 transitions. [2022-04-07 18:00:42,903 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 125 transitions. [2022-04-07 18:00:42,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:42,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:42,904 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 72 states have (on average 1.125) internal successors, (81), 75 states have internal predecessors, (81), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 108 states. [2022-04-07 18:00:42,904 INFO L87 Difference]: Start difference. First operand has 106 states, 72 states have (on average 1.125) internal successors, (81), 75 states have internal predecessors, (81), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 108 states. [2022-04-07 18:00:42,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:00:42,907 INFO L93 Difference]: Finished difference Result 108 states and 125 transitions. [2022-04-07 18:00:42,907 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 125 transitions. [2022-04-07 18:00:42,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:00:42,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:00:42,907 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:00:42,907 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:00:42,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 72 states have (on average 1.125) internal successors, (81), 75 states have internal predecessors, (81), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:00:42,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 123 transitions. [2022-04-07 18:00:42,910 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 123 transitions. Word has length 70 [2022-04-07 18:00:42,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:00:42,910 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 123 transitions. [2022-04-07 18:00:42,910 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 18:00:42,910 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 123 transitions. [2022-04-07 18:00:42,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-07 18:00:42,911 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:00:42,911 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 18:00:42,936 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-07 18:00:43,127 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-07 18:00:43,128 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:00:43,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:00:43,128 INFO L85 PathProgramCache]: Analyzing trace with hash -633726750, now seen corresponding path program 4 times [2022-04-07 18:00:43,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:00:43,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2115893833] [2022-04-07 18:00:43,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:00:43,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:00:43,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:43,561 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:00:43,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:43,565 INFO L290 TraceCheckUtils]: 0: Hoare triple {8688#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {8631#true} is VALID [2022-04-07 18:00:43,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {8631#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:43,565 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8631#true} {8631#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:43,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:43,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:43,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:43,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:43,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:43,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8631#true} {8631#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {8631#true} is VALID [2022-04-07 18:00:43,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:00:43,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:43,586 INFO L290 TraceCheckUtils]: 0: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [138] #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] {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:00:43,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:00:43,588 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {8631#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {8643#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:00:43,588 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:00:43,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:44,665 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:00:44,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:44,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:44,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:44,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:44,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8631#true} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:44,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:00:44,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:44,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:44,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:44,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:44,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8631#true} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:44,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:00:44,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:44,699 INFO L290 TraceCheckUtils]: 0: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:44,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:44,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:44,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8704#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-07 18:00:44,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:44,702 INFO L272 TraceCheckUtils]: 1: Hoare triple {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8631#true} is VALID [2022-04-07 18:00:44,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:44,702 INFO L290 TraceCheckUtils]: 3: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:44,702 INFO L290 TraceCheckUtils]: 4: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:44,704 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {8631#true} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:44,704 INFO L272 TraceCheckUtils]: 6: Hoare triple {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8631#true} is VALID [2022-04-07 18:00:44,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:44,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:44,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:44,705 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8631#true} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:44,705 INFO L272 TraceCheckUtils]: 11: Hoare triple {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8631#true} is VALID [2022-04-07 18:00:44,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:44,706 INFO L290 TraceCheckUtils]: 13: Hoare triple {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:44,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:44,707 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8704#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-07 18:00:44,710 INFO L290 TraceCheckUtils]: 16: Hoare triple {8704#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:00:44,712 INFO L290 TraceCheckUtils]: 17: Hoare triple {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:00:44,714 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:00:44,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:00:44,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:47,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {8708#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:00:47,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {8708#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8709#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:00:47,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {8709#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8710#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:00:47,185 INFO L290 TraceCheckUtils]: 3: Hoare triple {8710#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8711#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:00:47,188 INFO L290 TraceCheckUtils]: 4: Hoare triple {8711#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8712#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:00:47,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {8712#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8713#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:00:47,191 INFO L290 TraceCheckUtils]: 6: Hoare triple {8713#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8714#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:00:47,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {8714#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:00:47,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:00:47,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8716#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} is VALID [2022-04-07 18:00:47,209 INFO L290 TraceCheckUtils]: 10: Hoare triple {8716#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8717#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} is VALID [2022-04-07 18:00:47,211 INFO L290 TraceCheckUtils]: 11: Hoare triple {8717#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8718#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} is VALID [2022-04-07 18:00:47,213 INFO L290 TraceCheckUtils]: 12: Hoare triple {8718#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8719#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:00:47,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {8719#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8720#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} is VALID [2022-04-07 18:00:47,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {8720#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,217 INFO L290 TraceCheckUtils]: 15: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,219 INFO L290 TraceCheckUtils]: 16: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,220 INFO L290 TraceCheckUtils]: 17: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,226 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {8632#false} is VALID [2022-04-07 18:00:47,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {8631#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8688#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:00:47,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {8688#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {8631#true} is VALID [2022-04-07 18:00:47,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {8631#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:47,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8631#true} {8631#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:47,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {8631#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:47,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {8631#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {8631#true} is VALID [2022-04-07 18:00:47,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {8631#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {8631#true} is VALID [2022-04-07 18:00:47,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:47,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:47,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:47,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8631#true} {8631#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {8631#true} is VALID [2022-04-07 18:00:47,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {8631#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {8631#true} is VALID [2022-04-07 18:00:47,229 INFO L272 TraceCheckUtils]: 12: Hoare triple {8631#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {8689#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:47,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [138] #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] {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:00:47,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:00:47,231 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {8631#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {8643#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:00:47,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {8643#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-07 18:00:47,232 INFO L272 TraceCheckUtils]: 17: Hoare triple {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {8689#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:47,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:47,232 INFO L272 TraceCheckUtils]: 19: Hoare triple {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8631#true} is VALID [2022-04-07 18:00:47,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:47,232 INFO L290 TraceCheckUtils]: 21: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:47,232 INFO L290 TraceCheckUtils]: 22: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:47,233 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8631#true} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:47,233 INFO L272 TraceCheckUtils]: 24: Hoare triple {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8631#true} is VALID [2022-04-07 18:00:47,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:47,233 INFO L290 TraceCheckUtils]: 26: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:47,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:47,234 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8631#true} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:00:47,234 INFO L272 TraceCheckUtils]: 29: Hoare triple {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8631#true} is VALID [2022-04-07 18:00:47,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:47,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:47,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:47,236 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} {8691#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8704#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-07 18:00:47,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {8704#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:00:47,239 INFO L290 TraceCheckUtils]: 35: Hoare triple {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:00:47,242 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8705#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:00:47,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:00:47,245 INFO L272 TraceCheckUtils]: 38: Hoare triple {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {8689#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:47,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {8708#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:00:47,246 INFO L290 TraceCheckUtils]: 40: Hoare triple {8708#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8709#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:00:47,247 INFO L290 TraceCheckUtils]: 41: Hoare triple {8709#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8710#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:00:47,248 INFO L290 TraceCheckUtils]: 42: Hoare triple {8710#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8711#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:00:47,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {8711#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8712#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:00:47,252 INFO L290 TraceCheckUtils]: 44: Hoare triple {8712#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8713#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:00:47,254 INFO L290 TraceCheckUtils]: 45: Hoare triple {8713#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8714#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:00:47,256 INFO L290 TraceCheckUtils]: 46: Hoare triple {8714#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:00:47,258 INFO L290 TraceCheckUtils]: 47: Hoare triple {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:00:47,260 INFO L290 TraceCheckUtils]: 48: Hoare triple {8715#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8716#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} is VALID [2022-04-07 18:00:47,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {8716#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8717#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} is VALID [2022-04-07 18:00:47,263 INFO L290 TraceCheckUtils]: 50: Hoare triple {8717#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8718#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} is VALID [2022-04-07 18:00:47,264 INFO L290 TraceCheckUtils]: 51: Hoare triple {8718#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8719#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:00:47,265 INFO L290 TraceCheckUtils]: 52: Hoare triple {8719#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8720#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} is VALID [2022-04-07 18:00:47,266 INFO L290 TraceCheckUtils]: 53: Hoare triple {8720#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,267 INFO L290 TraceCheckUtils]: 54: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,268 INFO L290 TraceCheckUtils]: 55: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,269 INFO L290 TraceCheckUtils]: 56: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,270 INFO L290 TraceCheckUtils]: 57: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,271 INFO L290 TraceCheckUtils]: 58: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,272 INFO L290 TraceCheckUtils]: 59: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,273 INFO L290 TraceCheckUtils]: 60: Hoare triple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-07 18:00:47,275 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8721#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} {8664#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {8632#false} is VALID [2022-04-07 18:00:47,275 INFO L290 TraceCheckUtils]: 62: Hoare triple {8632#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {8632#false} is VALID [2022-04-07 18:00:47,275 INFO L272 TraceCheckUtils]: 63: Hoare triple {8632#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {8632#false} is VALID [2022-04-07 18:00:47,275 INFO L290 TraceCheckUtils]: 64: Hoare triple {8632#false} [157] __VERIFIER_assertENTRY-->L10: 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] {8632#false} is VALID [2022-04-07 18:00:47,275 INFO L290 TraceCheckUtils]: 65: Hoare triple {8632#false} [164] L10-->L10-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[] {8632#false} is VALID [2022-04-07 18:00:47,276 INFO L290 TraceCheckUtils]: 66: Hoare triple {8632#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8632#false} is VALID [2022-04-07 18:00:47,276 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 27 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-07 18:00:47,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:00:47,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2115893833] [2022-04-07 18:00:47,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2115893833] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:00:47,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1312721913] [2022-04-07 18:00:47,277 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-07 18:00:47,277 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:00:47,277 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:00:47,284 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:00:47,285 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 18:00:47,395 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-07 18:00:47,395 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 18:00:47,397 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 77 conjunts are in the unsatisfiable core [2022-04-07 18:00:47,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:00:47,416 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:00:47,441 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-07 18:00:49,647 WARN L855 $PredicateComparison]: unable to prove that (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 |c_mkdup_#in~n|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (store |c_old(#memory_int)| |c_mkdup_#in~a.base| (store (store (select |c_old(#memory_int)| |c_mkdup_#in~a.base|) (+ |c_mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ (* mkdup_~j~0 4) |c_mkdup_#in~a.offset|) mkdup_~x~0)) |c_#memory_int|) (< mkdup_~i~0 |c_mkdup_#in~n|) (<= 0 mkdup_~i~0))) is different from true [2022-04-07 18:00:50,191 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 29 treesize of output 24 [2022-04-07 18:00:57,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {8631#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:57,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {8631#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {8631#true} is VALID [2022-04-07 18:00:57,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {8631#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8631#true} {8631#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {8631#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {8631#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {8631#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {8631#true} [136] L16-->L16-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[] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {8631#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8631#true} {8631#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L290 TraceCheckUtils]: 11: Hoare triple {8631#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {8631#true} is VALID [2022-04-07 18:00:57,301 INFO L272 TraceCheckUtils]: 12: Hoare triple {8631#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {8631#true} is VALID [2022-04-07 18:00:57,302 INFO L290 TraceCheckUtils]: 13: Hoare triple {8631#true} [138] #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] {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:00:57,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:00:57,303 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8690#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {8631#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {8643#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:00:57,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {8643#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-07 18:00:57,304 INFO L272 TraceCheckUtils]: 17: Hoare triple {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {8689#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:00:57,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {8779#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:00:57,304 INFO L272 TraceCheckUtils]: 19: Hoare triple {8779#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8631#true} is VALID [2022-04-07 18:00:57,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:57,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:57,305 INFO L290 TraceCheckUtils]: 22: Hoare triple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:57,306 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} {8779#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {8795#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 18:00:57,306 INFO L272 TraceCheckUtils]: 24: Hoare triple {8795#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8631#true} is VALID [2022-04-07 18:00:57,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:57,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:57,307 INFO L290 TraceCheckUtils]: 27: Hoare triple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:57,308 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} {8795#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {8811#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:00:57,309 INFO L272 TraceCheckUtils]: 29: Hoare triple {8811#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8631#true} is VALID [2022-04-07 18:00:57,309 INFO L290 TraceCheckUtils]: 30: Hoare triple {8631#true} [133] assume_abort_if_notENTRY-->L16: 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] {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:00:57,309 INFO L290 TraceCheckUtils]: 31: Hoare triple {8706#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:57,309 INFO L290 TraceCheckUtils]: 32: Hoare triple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8707#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:00:57,310 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8707#(not (= |assume_abort_if_not_#in~cond| 0))} {8811#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {8827#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:00:59,150 WARN L290 TraceCheckUtils]: 34: Hoare triple {8827#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {8831#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-07 18:01:00,690 WARN L290 TraceCheckUtils]: 35: Hoare triple {8831#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8831#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-07 18:01:01,935 WARN L284 TraceCheckUtils]: 36: Hoare quadruple {8831#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} {8644#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {8838#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-07 18:01:03,079 WARN L290 TraceCheckUtils]: 37: Hoare triple {8838#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {8838#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-07 18:01:03,081 INFO L272 TraceCheckUtils]: 38: Hoare triple {8838#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {8689#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:03,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {8689#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {8848#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:01:03,082 INFO L290 TraceCheckUtils]: 40: Hoare triple {8848#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8852#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:01:03,082 INFO L290 TraceCheckUtils]: 41: Hoare triple {8852#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8856#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} is VALID [2022-04-07 18:01:03,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {8856#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8860#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:01:03,084 INFO L290 TraceCheckUtils]: 43: Hoare triple {8860#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8864#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-07 18:01:03,084 INFO L290 TraceCheckUtils]: 44: Hoare triple {8864#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8868#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-07 18:01:03,085 INFO L290 TraceCheckUtils]: 45: Hoare triple {8868#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8872#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-07 18:01:03,086 INFO L290 TraceCheckUtils]: 46: Hoare triple {8872#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8876#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:01:03,087 INFO L290 TraceCheckUtils]: 47: Hoare triple {8876#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8880#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 3)))} is VALID [2022-04-07 18:01:03,088 INFO L290 TraceCheckUtils]: 48: Hoare triple {8880#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 3)))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8884#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:01:03,089 INFO L290 TraceCheckUtils]: 49: Hoare triple {8884#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8888#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:01:03,091 INFO L290 TraceCheckUtils]: 50: Hoare triple {8888#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8892#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) |finddup_#t~mem11|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))))} is VALID [2022-04-07 18:01:03,111 INFO L290 TraceCheckUtils]: 51: Hoare triple {8892#(and (= |#memory_int| |old(#memory_int)|) (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) |finddup_#t~mem11|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,121 INFO L290 TraceCheckUtils]: 52: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,126 INFO L290 TraceCheckUtils]: 53: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,149 INFO L290 TraceCheckUtils]: 55: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,167 INFO L290 TraceCheckUtils]: 56: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,180 INFO L290 TraceCheckUtils]: 57: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,190 INFO L290 TraceCheckUtils]: 58: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,194 INFO L290 TraceCheckUtils]: 59: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,198 INFO L290 TraceCheckUtils]: 60: Hoare triple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-07 18:01:03,201 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8896#(and (exists ((finddup_~i~1 Int)) (and (<= |finddup_#in~n| (+ finddup_~i~1 2)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4) 4)))))) (= |#memory_int| |old(#memory_int)|))} {8838#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {8632#false} is VALID [2022-04-07 18:01:03,201 INFO L290 TraceCheckUtils]: 62: Hoare triple {8632#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {8632#false} is VALID [2022-04-07 18:01:03,202 INFO L272 TraceCheckUtils]: 63: Hoare triple {8632#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {8632#false} is VALID [2022-04-07 18:01:03,202 INFO L290 TraceCheckUtils]: 64: Hoare triple {8632#false} [157] __VERIFIER_assertENTRY-->L10: 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] {8632#false} is VALID [2022-04-07 18:01:03,202 INFO L290 TraceCheckUtils]: 65: Hoare triple {8632#false} [164] L10-->L10-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[] {8632#false} is VALID [2022-04-07 18:01:03,202 INFO L290 TraceCheckUtils]: 66: Hoare triple {8632#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8632#false} is VALID [2022-04-07 18:01:03,203 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 9 proven. 27 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-07 18:01:03,203 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:01:03,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1312721913] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:01:03,981 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:01:03,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 27] total 46 [2022-04-07 18:01:03,981 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [605202130] [2022-04-07 18:01:03,981 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 18:01:03,982 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) Word has length 67 [2022-04-07 18:01:03,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:01:03,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) [2022-04-07 18:01:09,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 93 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-07 18:01:09,164 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 46 states [2022-04-07 18:01:09,164 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:01:09,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2022-04-07 18:01:09,165 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=191, Invalid=1879, Unknown=4, NotChecked=88, Total=2162 [2022-04-07 18:01:09,165 INFO L87 Difference]: Start difference. First operand 106 states and 123 transitions. Second operand has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) [2022-04-07 18:01:35,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:01:35,294 INFO L93 Difference]: Finished difference Result 149 states and 176 transitions. [2022-04-07 18:01:35,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-07 18:01:35,295 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) Word has length 67 [2022-04-07 18:01:35,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:01:35,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) [2022-04-07 18:01:35,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 119 transitions. [2022-04-07 18:01:35,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) [2022-04-07 18:01:35,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 119 transitions. [2022-04-07 18:01:35,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 119 transitions. [2022-04-07 18:01:41,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 115 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-07 18:01:41,672 INFO L225 Difference]: With dead ends: 149 [2022-04-07 18:01:41,672 INFO L226 Difference]: Without dead ends: 133 [2022-04-07 18:01:41,674 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 78 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1674 ImplicationChecksByTransitivity, 26.2s TimeCoverageRelationStatistics Valid=548, Invalid=5604, Unknown=14, NotChecked=154, Total=6320 [2022-04-07 18:01:41,674 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 147 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 1733 mSolverCounterSat, 95 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 151 SdHoareTripleChecker+Valid, 239 SdHoareTripleChecker+Invalid, 2129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 95 IncrementalHoareTripleChecker+Valid, 1733 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 301 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-07 18:01:41,675 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [151 Valid, 239 Invalid, 2129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [95 Valid, 1733 Invalid, 0 Unknown, 301 Unchecked, 2.5s Time] [2022-04-07 18:01:41,675 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-04-07 18:01:41,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 115. [2022-04-07 18:01:41,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:01:41,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 115 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 84 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:01:41,680 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 115 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 84 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:01:41,680 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 115 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 84 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:01:41,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:01:41,685 INFO L93 Difference]: Finished difference Result 133 states and 158 transitions. [2022-04-07 18:01:41,686 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 158 transitions. [2022-04-07 18:01:41,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:01:41,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:01:41,687 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 84 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 133 states. [2022-04-07 18:01:41,687 INFO L87 Difference]: Start difference. First operand has 115 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 84 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 133 states. [2022-04-07 18:01:41,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:01:41,691 INFO L93 Difference]: Finished difference Result 133 states and 158 transitions. [2022-04-07 18:01:41,691 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 158 transitions. [2022-04-07 18:01:41,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:01:41,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:01:41,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:01:41,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:01:41,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 81 states have (on average 1.1481481481481481) internal successors, (93), 84 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:01:41,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 135 transitions. [2022-04-07 18:01:41,695 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 135 transitions. Word has length 67 [2022-04-07 18:01:41,695 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:01:41,695 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 135 transitions. [2022-04-07 18:01:41,696 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 46 states, 41 states have (on average 1.6585365853658536) internal successors, (68), 39 states have internal predecessors, (68), 9 states have call successors, (16), 4 states have call predecessors, (16), 7 states have return successors, (13), 10 states have call predecessors, (13), 8 states have call successors, (13) [2022-04-07 18:01:41,696 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 135 transitions. [2022-04-07 18:01:41,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-07 18:01:41,697 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:01:41,697 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 18:01:41,719 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 18:01:41,898 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-07 18:01:41,898 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:01:41,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:01:41,898 INFO L85 PathProgramCache]: Analyzing trace with hash -516817935, now seen corresponding path program 1 times [2022-04-07 18:01:41,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:01:41,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [808932273] [2022-04-07 18:01:41,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:01:41,899 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:01:41,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:01:42,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {9617#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {9557#true} is VALID [2022-04-07 18:01:42,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,039 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9557#true} {9557#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,039 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:01:42,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:42,050 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:01:42,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {9618#(= |#memory_int| |old(#memory_int)|)} [138] #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] {9557#true} is VALID [2022-04-07 18:01:42,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,054 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9557#true} {9557#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9557#true} is VALID [2022-04-07 18:01:42,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:01:42,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:01:42,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:01:42,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,068 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:42,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:01:42,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {9618#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L272 TraceCheckUtils]: 1: Hoare triple {9557#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L290 TraceCheckUtils]: 3: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L290 TraceCheckUtils]: 4: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9557#true} {9557#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {9557#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9557#true} {9557#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L272 TraceCheckUtils]: 11: Hoare triple {9557#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L290 TraceCheckUtils]: 12: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9557#true} {9557#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L290 TraceCheckUtils]: 16: Hoare triple {9557#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {9557#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,073 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9557#true} {9557#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:42,074 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:01:42,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {9618#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {9631#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {9631#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,209 INFO L290 TraceCheckUtils]: 3: Hoare triple {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,209 INFO L290 TraceCheckUtils]: 4: Hoare triple {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:01:42,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:01:42,213 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {9588#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9598#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,213 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-07 18:01:42,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:01:42,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {9635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:42,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:42,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} {9599#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-04-07 18:01:42,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:42,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,239 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-07 18:01:42,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:42,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,243 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:42,243 INFO L272 TraceCheckUtils]: 0: Hoare triple {9557#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9617#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:01:42,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {9617#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {9557#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {9557#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L272 TraceCheckUtils]: 6: Hoare triple {9557#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9557#true} {9557#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:42,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {9557#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {9557#true} is VALID [2022-04-07 18:01:42,245 INFO L272 TraceCheckUtils]: 12: Hoare triple {9557#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9618#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:42,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {9618#(= |#memory_int| |old(#memory_int)|)} [138] #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] {9557#true} is VALID [2022-04-07 18:01:42,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {9557#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,245 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9557#true} {9557#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9557#true} is VALID [2022-04-07 18:01:42,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {9557#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:42,246 INFO L272 TraceCheckUtils]: 17: Hoare triple {9557#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9618#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:42,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {9618#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,246 INFO L272 TraceCheckUtils]: 19: Hoare triple {9557#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,246 INFO L290 TraceCheckUtils]: 21: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9557#true} {9557#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L272 TraceCheckUtils]: 24: Hoare triple {9557#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9557#true} {9557#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L272 TraceCheckUtils]: 29: Hoare triple {9557#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9557#true} {9557#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 34: Hoare triple {9557#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {9557#true} is VALID [2022-04-07 18:01:42,247 INFO L290 TraceCheckUtils]: 35: Hoare triple {9557#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,248 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9557#true} {9557#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:42,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {9557#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {9588#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-07 18:01:42,249 INFO L272 TraceCheckUtils]: 38: Hoare triple {9588#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9618#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:42,250 INFO L290 TraceCheckUtils]: 39: Hoare triple {9618#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {9631#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {9631#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {9632#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,252 INFO L290 TraceCheckUtils]: 44: Hoare triple {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:42,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {9633#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:01:42,253 INFO L290 TraceCheckUtils]: 46: Hoare triple {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-07 18:01:42,254 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9634#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {9588#(not (= |main_~#i~2.base| |main_~#j~2.base|))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9598#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {9598#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {9599#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-07 18:01:42,255 INFO L272 TraceCheckUtils]: 49: Hoare triple {9599#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9557#true} is VALID [2022-04-07 18:01:42,255 INFO L290 TraceCheckUtils]: 50: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:01:42,256 INFO L290 TraceCheckUtils]: 51: Hoare triple {9635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:42,256 INFO L290 TraceCheckUtils]: 52: Hoare triple {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:42,257 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} {9599#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,258 INFO L290 TraceCheckUtils]: 54: Hoare triple {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,258 INFO L290 TraceCheckUtils]: 55: Hoare triple {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,258 INFO L272 TraceCheckUtils]: 56: Hoare triple {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9557#true} is VALID [2022-04-07 18:01:42,258 INFO L290 TraceCheckUtils]: 57: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:42,258 INFO L290 TraceCheckUtils]: 58: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,258 INFO L290 TraceCheckUtils]: 59: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,259 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9557#true} {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-07 18:01:42,259 INFO L290 TraceCheckUtils]: 61: Hoare triple {9604#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:42,260 INFO L290 TraceCheckUtils]: 62: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:42,260 INFO L272 TraceCheckUtils]: 63: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9557#true} is VALID [2022-04-07 18:01:42,260 INFO L290 TraceCheckUtils]: 64: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:42,260 INFO L290 TraceCheckUtils]: 65: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,260 INFO L290 TraceCheckUtils]: 66: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:42,261 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9557#true} {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:42,261 INFO L290 TraceCheckUtils]: 68: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {9614#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-07 18:01:42,262 INFO L272 TraceCheckUtils]: 69: Hoare triple {9614#(not (= |main_#t~mem22| |main_#t~mem21|))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:42,262 INFO L290 TraceCheckUtils]: 70: Hoare triple {9615#(not (= |__VERIFIER_assert_#in~cond| 0))} [157] __VERIFIER_assertENTRY-->L10: 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] {9616#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 18:01:42,262 INFO L290 TraceCheckUtils]: 71: Hoare triple {9616#(not (= __VERIFIER_assert_~cond 0))} [164] L10-->L10-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[] {9558#false} is VALID [2022-04-07 18:01:42,262 INFO L290 TraceCheckUtils]: 72: Hoare triple {9558#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9558#false} is VALID [2022-04-07 18:01:42,263 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 7 proven. 7 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-07 18:01:42,263 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:01:42,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [808932273] [2022-04-07 18:01:42,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [808932273] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:01:42,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [452100093] [2022-04-07 18:01:42,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:01:42,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:01:42,264 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:01:42,267 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:01:42,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 18:01:42,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-07 18:01:42,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:42,371 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:01:42,459 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 10 treesize of output 8 [2022-04-07 18:01:42,644 INFO L356 Elim1Store]: treesize reduction 17, result has 46.9 percent of original size [2022-04-07 18:01:42,644 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 23 [2022-04-07 18:01:43,213 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-07 18:01:43,213 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 17 [2022-04-07 18:01:43,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {9557#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {9557#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {9557#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L272 TraceCheckUtils]: 6: Hoare triple {9557#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9557#true} {9557#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {9557#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L272 TraceCheckUtils]: 12: Hoare triple {9557#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9557#true} is VALID [2022-04-07 18:01:43,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {9557#true} [138] #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] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 14: Hoare triple {9557#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9557#true} {9557#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 16: Hoare triple {9557#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L272 TraceCheckUtils]: 17: Hoare triple {9557#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {9557#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L272 TraceCheckUtils]: 19: Hoare triple {9557#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 21: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 22: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9557#true} {9557#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L272 TraceCheckUtils]: 24: Hoare triple {9557#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:43,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9557#true} {9557#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L272 TraceCheckUtils]: 29: Hoare triple {9557#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9557#true} {9557#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L290 TraceCheckUtils]: 34: Hoare triple {9557#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L290 TraceCheckUtils]: 35: Hoare triple {9557#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:43,288 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9557#true} {9557#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:43,289 INFO L290 TraceCheckUtils]: 37: Hoare triple {9557#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {9750#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:01:43,289 INFO L272 TraceCheckUtils]: 38: Hoare triple {9750#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9557#true} is VALID [2022-04-07 18:01:43,290 INFO L290 TraceCheckUtils]: 39: Hoare triple {9557#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {9631#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:43,290 INFO L290 TraceCheckUtils]: 40: Hoare triple {9631#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {9760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:43,291 INFO L290 TraceCheckUtils]: 41: Hoare triple {9760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:43,291 INFO L290 TraceCheckUtils]: 42: Hoare triple {9760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:43,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {9760#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {9770#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:43,292 INFO L290 TraceCheckUtils]: 44: Hoare triple {9770#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9770#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:01:43,293 INFO L290 TraceCheckUtils]: 45: Hoare triple {9770#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {9777#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} is VALID [2022-04-07 18:01:43,293 INFO L290 TraceCheckUtils]: 46: Hoare triple {9777#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9777#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} is VALID [2022-04-07 18:01:43,295 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9777#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} {9750#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,296 INFO L272 TraceCheckUtils]: 49: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,297 INFO L290 TraceCheckUtils]: 50: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [157] __VERIFIER_assertENTRY-->L10: 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] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,300 INFO L290 TraceCheckUtils]: 51: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,301 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,302 INFO L290 TraceCheckUtils]: 54: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,302 INFO L290 TraceCheckUtils]: 55: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,312 INFO L272 TraceCheckUtils]: 56: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,313 INFO L290 TraceCheckUtils]: 57: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [157] __VERIFIER_assertENTRY-->L10: 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] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,313 INFO L290 TraceCheckUtils]: 58: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,314 INFO L290 TraceCheckUtils]: 59: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,315 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,315 INFO L290 TraceCheckUtils]: 61: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,316 INFO L290 TraceCheckUtils]: 62: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,317 INFO L272 TraceCheckUtils]: 63: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,318 INFO L290 TraceCheckUtils]: 64: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [157] __VERIFIER_assertENTRY-->L10: 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] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,318 INFO L290 TraceCheckUtils]: 65: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,319 INFO L290 TraceCheckUtils]: 66: Hoare triple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-07 18:01:43,320 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9791#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-07 18:01:43,321 INFO L290 TraceCheckUtils]: 68: Hoare triple {9784#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {9849#(and (= |main_#t~mem22| 2) (= |main_#t~mem21| 0))} is VALID [2022-04-07 18:01:43,321 INFO L272 TraceCheckUtils]: 69: Hoare triple {9849#(and (= |main_#t~mem22| 2) (= |main_#t~mem21| 0))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {9853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 18:01:43,322 INFO L290 TraceCheckUtils]: 70: Hoare triple {9853#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {9857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:01:43,322 INFO L290 TraceCheckUtils]: 71: Hoare triple {9857#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {9558#false} is VALID [2022-04-07 18:01:43,322 INFO L290 TraceCheckUtils]: 72: Hoare triple {9558#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9558#false} is VALID [2022-04-07 18:01:43,323 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-07 18:01:43,323 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:01:43,620 INFO L356 Elim1Store]: treesize reduction 10, result has 9.1 percent of original size [2022-04-07 18:01:43,620 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 670 treesize of output 606 [2022-04-07 18:01:44,219 INFO L290 TraceCheckUtils]: 72: Hoare triple {9558#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9558#false} is VALID [2022-04-07 18:01:44,220 INFO L290 TraceCheckUtils]: 71: Hoare triple {9857#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {9558#false} is VALID [2022-04-07 18:01:44,220 INFO L290 TraceCheckUtils]: 70: Hoare triple {9853#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {9857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:01:44,221 INFO L272 TraceCheckUtils]: 69: Hoare triple {9614#(not (= |main_#t~mem22| |main_#t~mem21|))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {9853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 18:01:44,221 INFO L290 TraceCheckUtils]: 68: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {9614#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-07 18:01:44,222 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9557#true} {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,222 INFO L290 TraceCheckUtils]: 66: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,222 INFO L290 TraceCheckUtils]: 65: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,222 INFO L290 TraceCheckUtils]: 64: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:44,222 INFO L272 TraceCheckUtils]: 63: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {9557#true} is VALID [2022-04-07 18:01:44,223 INFO L290 TraceCheckUtils]: 62: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,223 INFO L290 TraceCheckUtils]: 61: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,224 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9557#true} {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,224 INFO L290 TraceCheckUtils]: 59: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,224 INFO L290 TraceCheckUtils]: 58: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,224 INFO L290 TraceCheckUtils]: 57: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:44,224 INFO L272 TraceCheckUtils]: 56: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {9557#true} is VALID [2022-04-07 18:01:44,224 INFO L290 TraceCheckUtils]: 55: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,225 INFO L290 TraceCheckUtils]: 54: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,225 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9557#true} {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,225 INFO L290 TraceCheckUtils]: 52: Hoare triple {9557#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,225 INFO L290 TraceCheckUtils]: 51: Hoare triple {9557#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,225 INFO L290 TraceCheckUtils]: 50: Hoare triple {9557#true} [157] __VERIFIER_assertENTRY-->L10: 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] {9557#true} is VALID [2022-04-07 18:01:44,226 INFO L272 TraceCheckUtils]: 49: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {9557#true} is VALID [2022-04-07 18:01:44,226 INFO L290 TraceCheckUtils]: 48: Hoare triple {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,227 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9943#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} {9939#(or (not (= |main_~#j~2.offset| |main_~#i~2.offset|)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9609#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-07 18:01:44,230 INFO L290 TraceCheckUtils]: 46: Hoare triple {9943#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9943#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-07 18:01:44,230 INFO L290 TraceCheckUtils]: 45: Hoare triple {9950#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {9943#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-07 18:01:44,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {9950#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9950#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-07 18:01:44,232 INFO L290 TraceCheckUtils]: 43: Hoare triple {9957#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {9950#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-07 18:01:44,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {9957#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9957#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-07 18:01:44,234 INFO L290 TraceCheckUtils]: 41: Hoare triple {9957#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {9957#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-07 18:01:44,235 INFO L290 TraceCheckUtils]: 40: Hoare triple {9967#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {9957#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-07 18:01:44,235 INFO L290 TraceCheckUtils]: 39: Hoare triple {9557#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {9967#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-07 18:01:44,235 INFO L272 TraceCheckUtils]: 38: Hoare triple {9939#(or (not (= |main_~#j~2.offset| |main_~#i~2.offset|)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {9557#true} is VALID [2022-04-07 18:01:44,236 INFO L290 TraceCheckUtils]: 37: Hoare triple {9557#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {9939#(or (not (= |main_~#j~2.offset| |main_~#i~2.offset|)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:01:44,236 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9557#true} {9557#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:44,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {9557#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {9557#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {9557#true} is VALID [2022-04-07 18:01:44,236 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9557#true} {9557#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:44,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L272 TraceCheckUtils]: 29: Hoare triple {9557#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9557#true} {9557#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 26: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L272 TraceCheckUtils]: 24: Hoare triple {9557#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9557#true} {9557#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:44,237 INFO L272 TraceCheckUtils]: 19: Hoare triple {9557#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {9557#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L272 TraceCheckUtils]: 17: Hoare triple {9557#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {9557#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9557#true} {9557#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {9557#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {9557#true} [138] #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] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L272 TraceCheckUtils]: 12: Hoare triple {9557#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {9557#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9557#true} {9557#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 9: Hoare triple {9557#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {9557#true} [136] L16-->L16-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[] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {9557#true} [133] assume_abort_if_notENTRY-->L16: 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] {9557#true} is VALID [2022-04-07 18:01:44,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {9557#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L290 TraceCheckUtils]: 5: Hoare triple {9557#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {9557#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9557#true} {9557#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {9557#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {9557#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {9557#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9557#true} is VALID [2022-04-07 18:01:44,239 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-07 18:01:44,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [452100093] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 18:01:44,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 18:01:44,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12, 11] total 31 [2022-04-07 18:01:44,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556764694] [2022-04-07 18:01:44,240 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 18:01:44,240 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) Word has length 73 [2022-04-07 18:01:44,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:01:44,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-07 18:01:44,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:01:44,327 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-07 18:01:44,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:01:44,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-07 18:01:44,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=827, Unknown=0, NotChecked=0, Total=930 [2022-04-07 18:01:44,328 INFO L87 Difference]: Start difference. First operand 115 states and 135 transitions. Second operand has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-07 18:01:48,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:01:48,649 INFO L93 Difference]: Finished difference Result 179 states and 209 transitions. [2022-04-07 18:01:48,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-07 18:01:48,649 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) Word has length 73 [2022-04-07 18:01:48,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:01:48,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-07 18:01:48,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 161 transitions. [2022-04-07 18:01:48,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-07 18:01:48,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 161 transitions. [2022-04-07 18:01:48,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 161 transitions. [2022-04-07 18:01:48,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:01:48,881 INFO L225 Difference]: With dead ends: 179 [2022-04-07 18:01:48,881 INFO L226 Difference]: Without dead ends: 179 [2022-04-07 18:01:48,883 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 150 SyntacticMatches, 6 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 903 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=430, Invalid=3230, Unknown=0, NotChecked=0, Total=3660 [2022-04-07 18:01:48,884 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 200 mSDsluCounter, 34 mSDsCounter, 0 mSdLazyCounter, 1510 mSolverCounterSat, 174 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 201 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 1843 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 174 IncrementalHoareTripleChecker+Valid, 1510 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 159 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-07 18:01:48,884 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [201 Valid, 82 Invalid, 1843 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [174 Valid, 1510 Invalid, 0 Unknown, 159 Unchecked, 1.7s Time] [2022-04-07 18:01:48,885 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-04-07 18:01:48,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 139. [2022-04-07 18:01:48,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:01:48,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 179 states. Second operand has 139 states, 98 states have (on average 1.1428571428571428) internal successors, (112), 102 states have internal predecessors, (112), 24 states have call successors, (24), 14 states have call predecessors, (24), 16 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-04-07 18:01:48,895 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand has 139 states, 98 states have (on average 1.1428571428571428) internal successors, (112), 102 states have internal predecessors, (112), 24 states have call successors, (24), 14 states have call predecessors, (24), 16 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-04-07 18:01:48,895 INFO L87 Difference]: Start difference. First operand 179 states. Second operand has 139 states, 98 states have (on average 1.1428571428571428) internal successors, (112), 102 states have internal predecessors, (112), 24 states have call successors, (24), 14 states have call predecessors, (24), 16 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-04-07 18:01:48,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:01:48,899 INFO L93 Difference]: Finished difference Result 179 states and 209 transitions. [2022-04-07 18:01:48,899 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 209 transitions. [2022-04-07 18:01:48,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:01:48,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:01:48,900 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 98 states have (on average 1.1428571428571428) internal successors, (112), 102 states have internal predecessors, (112), 24 states have call successors, (24), 14 states have call predecessors, (24), 16 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) Second operand 179 states. [2022-04-07 18:01:48,900 INFO L87 Difference]: Start difference. First operand has 139 states, 98 states have (on average 1.1428571428571428) internal successors, (112), 102 states have internal predecessors, (112), 24 states have call successors, (24), 14 states have call predecessors, (24), 16 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) Second operand 179 states. [2022-04-07 18:01:48,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:01:48,905 INFO L93 Difference]: Finished difference Result 179 states and 209 transitions. [2022-04-07 18:01:48,905 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 209 transitions. [2022-04-07 18:01:48,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:01:48,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:01:48,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:01:48,906 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:01:48,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 98 states have (on average 1.1428571428571428) internal successors, (112), 102 states have internal predecessors, (112), 24 states have call successors, (24), 14 states have call predecessors, (24), 16 states have return successors, (25), 22 states have call predecessors, (25), 22 states have call successors, (25) [2022-04-07 18:01:48,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 161 transitions. [2022-04-07 18:01:48,909 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 161 transitions. Word has length 73 [2022-04-07 18:01:48,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:01:48,909 INFO L478 AbstractCegarLoop]: Abstraction has 139 states and 161 transitions. [2022-04-07 18:01:48,909 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 25 states have (on average 2.92) internal successors, (73), 27 states have internal predecessors, (73), 10 states have call successors, (25), 6 states have call predecessors, (25), 6 states have return successors, (18), 5 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-07 18:01:48,909 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 161 transitions. [2022-04-07 18:01:48,910 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-07 18:01:48,910 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:01:48,910 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 18:01:48,939 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-07 18:01:49,135 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-07 18:01:49,136 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:01:49,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:01:49,136 INFO L85 PathProgramCache]: Analyzing trace with hash -2020932442, now seen corresponding path program 1 times [2022-04-07 18:01:49,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:01:49,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [874749433] [2022-04-07 18:01:49,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:01:49,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:01:49,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,391 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:01:49,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {10891#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {10827#true} is VALID [2022-04-07 18:01:49,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,405 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10827#true} {10827#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,407 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:01:49,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,410 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10827#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {10827#true} is VALID [2022-04-07 18:01:49,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:01:49,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,432 INFO L290 TraceCheckUtils]: 0: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [138] #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] {10827#true} is VALID [2022-04-07 18:01:49,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,433 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10827#true} {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:01:49,433 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:01:49,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:01:49,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10827#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:01:49,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10827#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {10827#true} is VALID [2022-04-07 18:01:49,452 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:01:49,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,455 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10827#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L272 TraceCheckUtils]: 1: Hoare triple {10827#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L290 TraceCheckUtils]: 3: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L290 TraceCheckUtils]: 4: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,456 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10827#true} {10827#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L272 TraceCheckUtils]: 6: Hoare triple {10827#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10827#true} {10827#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L272 TraceCheckUtils]: 11: Hoare triple {10827#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,458 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10827#true} {10827#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {10827#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {10827#true} is VALID [2022-04-07 18:01:49,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {10827#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,458 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10827#true} {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-07 18:01:49,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:01:49,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-07 18:01:49,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-07 18:01:49,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {10906#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} is VALID [2022-04-07 18:01:49,677 INFO L290 TraceCheckUtils]: 3: Hoare triple {10906#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-07 18:01:49,678 INFO L290 TraceCheckUtils]: 4: Hoare triple {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-07 18:01:49,679 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} {10860#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {10867#(and (= main_~a~0.offset 0) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-07 18:01:49,680 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-07 18:01:49,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10908#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:01:49,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {10908#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:49,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:49,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} {10868#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {10873#(and (= main_~a~0.offset 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-07 18:01:49,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-07 18:01:49,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10827#true} is VALID [2022-04-07 18:01:49,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 60 [2022-04-07 18:01:49,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10827#true} is VALID [2022-04-07 18:01:49,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 66 [2022-04-07 18:01:49,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10827#true} is VALID [2022-04-07 18:01:49,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [196] __VERIFIER_assertEXIT-->L62-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {10827#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10891#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:01:49,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {10891#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10827#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {10827#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {10827#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {10827#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L290 TraceCheckUtils]: 7: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,717 INFO L290 TraceCheckUtils]: 8: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10827#true} {10827#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {10827#true} is VALID [2022-04-07 18:01:49,718 INFO L290 TraceCheckUtils]: 11: Hoare triple {10827#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:01:49,719 INFO L272 TraceCheckUtils]: 12: Hoare triple {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {10892#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:49,719 INFO L290 TraceCheckUtils]: 13: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [138] #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] {10827#true} is VALID [2022-04-07 18:01:49,720 INFO L290 TraceCheckUtils]: 14: Hoare triple {10827#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,720 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10827#true} {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:01:49,721 INFO L290 TraceCheckUtils]: 16: Hoare triple {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-07 18:01:49,722 INFO L272 TraceCheckUtils]: 17: Hoare triple {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {10892#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:49,722 INFO L290 TraceCheckUtils]: 18: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L272 TraceCheckUtils]: 19: Hoare triple {10827#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L290 TraceCheckUtils]: 20: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L290 TraceCheckUtils]: 21: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L290 TraceCheckUtils]: 22: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10827#true} {10827#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L272 TraceCheckUtils]: 24: Hoare triple {10827#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {10827#true} is VALID [2022-04-07 18:01:49,722 INFO L290 TraceCheckUtils]: 25: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 26: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10827#true} {10827#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L272 TraceCheckUtils]: 29: Hoare triple {10827#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 32: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10827#true} {10827#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {10827#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {10827#true} is VALID [2022-04-07 18:01:49,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {10827#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,724 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10827#true} {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-07 18:01:49,725 INFO L290 TraceCheckUtils]: 37: Hoare triple {10840#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {10860#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:01:49,727 INFO L272 TraceCheckUtils]: 38: Hoare triple {10860#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {10892#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:01:49,727 INFO L290 TraceCheckUtils]: 39: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-07 18:01:49,728 INFO L290 TraceCheckUtils]: 40: Hoare triple {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-07 18:01:49,729 INFO L290 TraceCheckUtils]: 41: Hoare triple {10905#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {10906#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} is VALID [2022-04-07 18:01:49,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {10906#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-07 18:01:49,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-07 18:01:49,733 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10907#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} {10860#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {10867#(and (= main_~a~0.offset 0) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-07 18:01:49,734 INFO L290 TraceCheckUtils]: 45: Hoare triple {10867#(and (= main_~a~0.offset 0) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {10868#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-07 18:01:49,734 INFO L272 TraceCheckUtils]: 46: Hoare triple {10868#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {10827#true} is VALID [2022-04-07 18:01:49,735 INFO L290 TraceCheckUtils]: 47: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10908#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:01:49,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {10908#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:49,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:49,737 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} {10868#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {10873#(and (= main_~a~0.offset 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-07 18:01:49,737 INFO L290 TraceCheckUtils]: 51: Hoare triple {10873#(and (= main_~a~0.offset 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {10874#(and (or (not |main_#t~short17|) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))) (= main_~a~0.offset 0))} is VALID [2022-04-07 18:01:49,738 INFO L290 TraceCheckUtils]: 52: Hoare triple {10874#(and (or (not |main_#t~short17|) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))) (= main_~a~0.offset 0))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,738 INFO L272 TraceCheckUtils]: 53: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {10827#true} is VALID [2022-04-07 18:01:49,738 INFO L290 TraceCheckUtils]: 54: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10827#true} is VALID [2022-04-07 18:01:49,738 INFO L290 TraceCheckUtils]: 55: Hoare triple {10827#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,738 INFO L290 TraceCheckUtils]: 56: Hoare triple {10827#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,739 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {10827#true} {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,740 INFO L290 TraceCheckUtils]: 58: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,740 INFO L290 TraceCheckUtils]: 59: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,740 INFO L272 TraceCheckUtils]: 60: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {10827#true} is VALID [2022-04-07 18:01:49,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10827#true} is VALID [2022-04-07 18:01:49,741 INFO L290 TraceCheckUtils]: 62: Hoare triple {10827#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,741 INFO L290 TraceCheckUtils]: 63: Hoare triple {10827#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,741 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10827#true} {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,742 INFO L290 TraceCheckUtils]: 65: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,742 INFO L272 TraceCheckUtils]: 66: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {10827#true} is VALID [2022-04-07 18:01:49,742 INFO L290 TraceCheckUtils]: 67: Hoare triple {10827#true} [157] __VERIFIER_assertENTRY-->L10: 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] {10827#true} is VALID [2022-04-07 18:01:49,742 INFO L290 TraceCheckUtils]: 68: Hoare triple {10827#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,742 INFO L290 TraceCheckUtils]: 69: Hoare triple {10827#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:01:49,743 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {10827#true} {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [196] __VERIFIER_assertEXIT-->L62-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:01:49,744 INFO L290 TraceCheckUtils]: 71: Hoare triple {10875#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [179] L62-1-->L63: Formula: (let ((.cse0 (select |v_#memory_int_6| v_main_~a~0.base_1))) (and (= |v_main_#t~mem23_1| (select (select |v_#memory_int_6| |v_main_~#i~2.base_2|) |v_main_~#i~2.offset_2|)) (= |v_main_#t~mem24_1| (select (select |v_#memory_int_6| |v_main_~#j~2.base_2|) |v_main_~#j~2.offset_2|)) (= (select .cse0 (+ (* |v_main_#t~mem24_1| 4) v_main_~a~0.offset_1)) |v_main_#t~mem26_1|) (= |v_main_#t~mem25_1| (select .cse0 (+ (* |v_main_#t~mem23_1| 4) v_main_~a~0.offset_1))))) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_2|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_~a~0.base=v_main_~a~0.base_1, #memory_int=|v_#memory_int_6|, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} OutVars{main_#t~mem24=|v_main_#t~mem24_1|, main_#t~mem23=|v_main_#t~mem23_1|, main_#t~mem26=|v_main_#t~mem26_1|, main_#t~mem25=|v_main_#t~mem25_1|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_#t~mem22=|v_main_#t~mem22_3|, main_#t~mem21=|v_main_#t~mem21_3|, main_~a~0.base=v_main_~a~0.base_1, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#j~2.offset=|v_main_~#j~2.offset_2|, #memory_int=|v_#memory_int_6|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} AuxVars[] AssignedVars[main_#t~mem24, main_#t~mem23, main_#t~mem26, main_#t~mem25, main_#t~mem22, main_#t~mem21] {10888#(= |main_#t~mem26| |main_#t~mem25|)} is VALID [2022-04-07 18:01:49,745 INFO L272 TraceCheckUtils]: 72: Hoare triple {10888#(= |main_#t~mem26| |main_#t~mem25|)} [183] L63-->__VERIFIER_assertENTRY: Formula: (= (ite (= |v_main_#t~mem26_4| |v_main_#t~mem25_4|) 1 0) |v___VERIFIER_assert_#in~condInParam_5|) InVars {main_#t~mem26=|v_main_#t~mem26_4|, main_#t~mem25=|v_main_#t~mem25_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_5|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem26, main_#t~mem25] {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:01:49,745 INFO L290 TraceCheckUtils]: 73: Hoare triple {10889#(not (= |__VERIFIER_assert_#in~cond| 0))} [157] __VERIFIER_assertENTRY-->L10: 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] {10890#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 18:01:49,745 INFO L290 TraceCheckUtils]: 74: Hoare triple {10890#(not (= __VERIFIER_assert_~cond 0))} [164] L10-->L10-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[] {10828#false} is VALID [2022-04-07 18:01:49,746 INFO L290 TraceCheckUtils]: 75: Hoare triple {10828#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10828#false} is VALID [2022-04-07 18:01:49,746 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 7 proven. 10 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-07 18:01:49,746 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:01:49,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [874749433] [2022-04-07 18:01:49,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [874749433] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:01:49,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [308452635] [2022-04-07 18:01:49,747 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:01:49,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:01:49,747 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:01:49,756 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:01:49,757 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-07 18:01:49,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,873 INFO L263 TraceCheckSpWp]: Trace formula consists of 305 conjuncts, 118 conjunts are in the unsatisfiable core [2022-04-07 18:01:49,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:01:49,897 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:01:49,934 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-07 18:01:50,044 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 6 treesize of output 4 [2022-04-07 18:01:52,541 WARN L855 $PredicateComparison]: unable to prove that (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (store |c_old(#memory_int)| |c_mkdup_#in~a.base| (store (store (select |c_old(#memory_int)| |c_mkdup_#in~a.base|) (+ |c_mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ (* mkdup_~j~0 4) |c_mkdup_#in~a.offset|) mkdup_~x~0)) |c_#memory_int|) (<= 0 mkdup_~i~0))) is different from true [2022-04-07 18:01:52,798 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2022-04-07 18:01:57,160 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 10 treesize of output 8 [2022-04-07 18:01:59,820 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:01:59,821 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 52 [2022-04-07 18:01:59,868 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:01:59,869 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:01:59,870 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 52 [2022-04-07 18:01:59,918 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 8 treesize of output 7 [2022-04-07 18:01:59,953 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 8 treesize of output 7 [2022-04-07 18:03:22,846 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:03:22,847 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:03:22,853 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-07 18:03:22,854 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 57 treesize of output 47 [2022-04-07 18:03:23,008 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 26 treesize of output 22 [2022-04-07 18:03:23,081 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 26 treesize of output 22 [2022-04-07 18:03:23,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {10827#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {10827#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {10827#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10827#true} {10827#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {10827#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {10827#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {10827#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {10827#true} [136] L16-->L16-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[] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {10827#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10827#true} is VALID [2022-04-07 18:03:23,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10827#true} {10827#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {10827#true} is VALID [2022-04-07 18:03:23,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {10827#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:03:23,433 INFO L272 TraceCheckUtils]: 12: Hoare triple {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {10827#true} is VALID [2022-04-07 18:03:23,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {10827#true} [138] #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] {10951#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:03:23,434 INFO L290 TraceCheckUtils]: 14: Hoare triple {10951#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10951#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:03:23,435 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10951#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {10836#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {10958#(and (= |main_#t~malloc13.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|)) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:03:23,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {10958#(and (= |main_#t~malloc13.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|)) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {10962#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} is VALID [2022-04-07 18:03:23,436 INFO L272 TraceCheckUtils]: 17: Hoare triple {10962#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {10892#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:03:23,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {10969#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:03:23,436 INFO L272 TraceCheckUtils]: 19: Hoare triple {10969#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:03:23,437 INFO L290 TraceCheckUtils]: 20: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10976#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:03:23,437 INFO L290 TraceCheckUtils]: 21: Hoare triple {10976#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {10980#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:03:23,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {10980#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10980#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:03:23,438 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10980#(not (= |assume_abort_if_not_#in~cond| 0))} {10969#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {10987#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 18:03:23,438 INFO L272 TraceCheckUtils]: 24: Hoare triple {10987#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {10827#true} is VALID [2022-04-07 18:03:23,438 INFO L290 TraceCheckUtils]: 25: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10976#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:03:23,439 INFO L290 TraceCheckUtils]: 26: Hoare triple {10976#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {10980#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:03:23,439 INFO L290 TraceCheckUtils]: 27: Hoare triple {10980#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10980#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:03:23,440 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10980#(not (= |assume_abort_if_not_#in~cond| 0))} {10987#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11003#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0))} is VALID [2022-04-07 18:03:23,440 INFO L272 TraceCheckUtils]: 29: Hoare triple {11003#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {10827#true} is VALID [2022-04-07 18:03:23,440 INFO L290 TraceCheckUtils]: 30: Hoare triple {10827#true} [133] assume_abort_if_notENTRY-->L16: 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] {10976#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:03:23,441 INFO L290 TraceCheckUtils]: 31: Hoare triple {10976#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {10980#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:03:23,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {10980#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10980#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:03:23,442 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10980#(not (= |assume_abort_if_not_#in~cond| 0))} {11003#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11019#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))} is VALID [2022-04-07 18:03:25,447 WARN L290 TraceCheckUtils]: 34: Hoare triple {11019#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {11023#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-07 18:03:27,453 WARN L290 TraceCheckUtils]: 35: Hoare triple {11023#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11023#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-07 18:03:27,455 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11023#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} {10962#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11030#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} is VALID [2022-04-07 18:03:27,456 INFO L290 TraceCheckUtils]: 37: Hoare triple {11030#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {11034#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:03:27,458 INFO L272 TraceCheckUtils]: 38: Hoare triple {11034#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {10892#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:03:27,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {10892#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {11041#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:03:27,459 INFO L290 TraceCheckUtils]: 40: Hoare triple {11041#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11045#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:03:27,459 INFO L290 TraceCheckUtils]: 41: Hoare triple {11045#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11049#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= |finddup_#in~_i.base| finddup_~_i.base) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:03:27,460 INFO L290 TraceCheckUtils]: 42: Hoare triple {11049#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= |finddup_#in~_i.base| finddup_~_i.base) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {11053#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} is VALID [2022-04-07 18:03:27,460 INFO L290 TraceCheckUtils]: 43: Hoare triple {11053#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11053#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} is VALID [2022-04-07 18:03:27,463 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11053#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} {11034#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,464 INFO L290 TraceCheckUtils]: 45: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,466 INFO L272 TraceCheckUtils]: 46: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,468 INFO L290 TraceCheckUtils]: 47: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [157] __VERIFIER_assertENTRY-->L10: 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] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,469 INFO L290 TraceCheckUtils]: 48: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,471 INFO L290 TraceCheckUtils]: 49: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,472 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,473 INFO L290 TraceCheckUtils]: 51: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,474 INFO L290 TraceCheckUtils]: 52: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,476 INFO L272 TraceCheckUtils]: 53: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [157] __VERIFIER_assertENTRY-->L10: 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] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,479 INFO L290 TraceCheckUtils]: 55: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,481 INFO L290 TraceCheckUtils]: 56: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,481 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,483 INFO L290 TraceCheckUtils]: 58: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,484 INFO L290 TraceCheckUtils]: 59: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,486 INFO L272 TraceCheckUtils]: 60: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,488 INFO L290 TraceCheckUtils]: 61: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [157] __VERIFIER_assertENTRY-->L10: 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] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,489 INFO L290 TraceCheckUtils]: 62: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,490 INFO L290 TraceCheckUtils]: 63: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,491 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,492 INFO L290 TraceCheckUtils]: 65: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,494 INFO L272 TraceCheckUtils]: 66: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,496 INFO L290 TraceCheckUtils]: 67: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [157] __VERIFIER_assertENTRY-->L10: 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] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,497 INFO L290 TraceCheckUtils]: 68: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,499 INFO L290 TraceCheckUtils]: 69: Hoare triple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-07 18:03:27,499 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {11067#(exists ((mkdup_~j~0 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int) (v_main_~a~0.base_BEFORE_CALL_8 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (<= 0 mkdup_~j~0) (< (+ v_main_~a~0.base_BEFORE_CALL_8 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (= (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 4) (select (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0) 0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (= (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_8) (store (store ((as const (Array Int Int)) 0) (* mkdup_~i~0 4) mkdup_~x~0) (* mkdup_~j~0 4) mkdup_~x~0)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [196] __VERIFIER_assertEXIT-->L62-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} is VALID [2022-04-07 18:03:27,501 INFO L290 TraceCheckUtils]: 71: Hoare triple {11060#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) main_~a~0.offset) (select (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0) (+ main_~a~0.offset 4))) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|))} [179] L62-1-->L63: Formula: (let ((.cse0 (select |v_#memory_int_6| v_main_~a~0.base_1))) (and (= |v_main_#t~mem23_1| (select (select |v_#memory_int_6| |v_main_~#i~2.base_2|) |v_main_~#i~2.offset_2|)) (= |v_main_#t~mem24_1| (select (select |v_#memory_int_6| |v_main_~#j~2.base_2|) |v_main_~#j~2.offset_2|)) (= (select .cse0 (+ (* |v_main_#t~mem24_1| 4) v_main_~a~0.offset_1)) |v_main_#t~mem26_1|) (= |v_main_#t~mem25_1| (select .cse0 (+ (* |v_main_#t~mem23_1| 4) v_main_~a~0.offset_1))))) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_2|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_~a~0.base=v_main_~a~0.base_1, #memory_int=|v_#memory_int_6|, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} OutVars{main_#t~mem24=|v_main_#t~mem24_1|, main_#t~mem23=|v_main_#t~mem23_1|, main_#t~mem26=|v_main_#t~mem26_1|, main_#t~mem25=|v_main_#t~mem25_1|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_#t~mem22=|v_main_#t~mem22_3|, main_#t~mem21=|v_main_#t~mem21_3|, main_~a~0.base=v_main_~a~0.base_1, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#j~2.offset=|v_main_~#j~2.offset_2|, #memory_int=|v_#memory_int_6|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} AuxVars[] AssignedVars[main_#t~mem24, main_#t~mem23, main_#t~mem26, main_#t~mem25, main_#t~mem22, main_#t~mem21] {10888#(= |main_#t~mem26| |main_#t~mem25|)} is VALID [2022-04-07 18:03:27,501 INFO L272 TraceCheckUtils]: 72: Hoare triple {10888#(= |main_#t~mem26| |main_#t~mem25|)} [183] L63-->__VERIFIER_assertENTRY: Formula: (= (ite (= |v_main_#t~mem26_4| |v_main_#t~mem25_4|) 1 0) |v___VERIFIER_assert_#in~condInParam_5|) InVars {main_#t~mem26=|v_main_#t~mem26_4|, main_#t~mem25=|v_main_#t~mem25_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_5|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem26, main_#t~mem25] {11146#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 18:03:27,501 INFO L290 TraceCheckUtils]: 73: Hoare triple {11146#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {11150#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:03:27,502 INFO L290 TraceCheckUtils]: 74: Hoare triple {11150#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {10828#false} is VALID [2022-04-07 18:03:27,502 INFO L290 TraceCheckUtils]: 75: Hoare triple {10828#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10828#false} is VALID [2022-04-07 18:03:27,502 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 9 proven. 8 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-07 18:03:27,503 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:03:36,872 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-07 18:03:36,877 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 6 treesize of output 4 [2022-04-07 18:03:43,631 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-07 18:03:46,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [308452635] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:03:46,480 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:03:46,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 25] total 39 [2022-04-07 18:03:46,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [785747408] [2022-04-07 18:03:46,480 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 18:03:46,481 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) Word has length 76 [2022-04-07 18:03:46,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:03:46,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-07 18:03:52,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 108 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-07 18:03:52,651 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-07 18:03:52,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:03:52,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-07 18:03:52,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=2173, Unknown=10, NotChecked=94, Total=2450 [2022-04-07 18:03:52,653 INFO L87 Difference]: Start difference. First operand 139 states and 161 transitions. Second operand has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-07 18:04:52,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:04:52,863 INFO L93 Difference]: Finished difference Result 187 states and 212 transitions. [2022-04-07 18:04:52,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-04-07 18:04:52,863 INFO L78 Accepts]: Start accepts. Automaton has has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) Word has length 76 [2022-04-07 18:04:52,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:04:52,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-07 18:04:52,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 121 transitions. [2022-04-07 18:04:52,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-07 18:04:52,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 121 transitions. [2022-04-07 18:04:52,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 121 transitions. [2022-04-07 18:04:59,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 118 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-07 18:04:59,057 INFO L225 Difference]: With dead ends: 187 [2022-04-07 18:04:59,057 INFO L226 Difference]: Without dead ends: 117 [2022-04-07 18:04:59,059 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 99 SyntacticMatches, 10 SemanticMatches, 75 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1372 ImplicationChecksByTransitivity, 149.9s TimeCoverageRelationStatistics Valid=409, Invalid=5256, Unknown=39, NotChecked=148, Total=5852 [2022-04-07 18:04:59,060 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 105 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 1308 mSolverCounterSat, 85 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 1685 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 85 IncrementalHoareTripleChecker+Valid, 1308 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 292 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-07 18:04:59,060 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [109 Valid, 181 Invalid, 1685 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [85 Valid, 1308 Invalid, 0 Unknown, 292 Unchecked, 1.5s Time] [2022-04-07 18:04:59,060 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2022-04-07 18:04:59,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 116. [2022-04-07 18:04:59,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:04:59,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand has 116 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 85 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:04:59,064 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand has 116 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 85 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:04:59,064 INFO L87 Difference]: Start difference. First operand 117 states. Second operand has 116 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 85 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:04:59,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:04:59,067 INFO L93 Difference]: Finished difference Result 117 states and 136 transitions. [2022-04-07 18:04:59,067 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 136 transitions. [2022-04-07 18:04:59,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:04:59,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:04:59,068 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 85 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 117 states. [2022-04-07 18:04:59,068 INFO L87 Difference]: Start difference. First operand has 116 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 85 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 117 states. [2022-04-07 18:04:59,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:04:59,071 INFO L93 Difference]: Finished difference Result 117 states and 136 transitions. [2022-04-07 18:04:59,071 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 136 transitions. [2022-04-07 18:04:59,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:04:59,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:04:59,071 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:04:59,071 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:04:59,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 85 states have internal predecessors, (93), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:04:59,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 135 transitions. [2022-04-07 18:04:59,074 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 135 transitions. Word has length 76 [2022-04-07 18:04:59,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:04:59,074 INFO L478 AbstractCegarLoop]: Abstraction has 116 states and 135 transitions. [2022-04-07 18:04:59,075 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 39 states, 31 states have (on average 2.032258064516129) internal successors, (63), 29 states have internal predecessors, (63), 13 states have call successors, (26), 6 states have call predecessors, (26), 8 states have return successors, (22), 12 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-07 18:04:59,075 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 135 transitions. [2022-04-07 18:04:59,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-07 18:04:59,076 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:04:59,076 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 18:04:59,101 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-07 18:04:59,290 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-07 18:04:59,290 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:04:59,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:04:59,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1723575464, now seen corresponding path program 5 times [2022-04-07 18:04:59,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:04:59,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [714421672] [2022-04-07 18:04:59,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:04:59,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:04:59,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:04:59,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {11943#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {11880#true} is VALID [2022-04-07 18:04:59,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,338 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11880#true} {11880#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:04:59,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:04:59,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:04:59,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {11944#(= |#memory_int| |old(#memory_int)|)} [138] #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] {11880#true} is VALID [2022-04-07 18:04:59,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,349 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11880#true} {11880#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11880#true} is VALID [2022-04-07 18:04:59,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:04:59,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,356 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:04:59,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,360 INFO L290 TraceCheckUtils]: 0: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:04:59,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:04:59,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L290 TraceCheckUtils]: 0: Hoare triple {11944#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L272 TraceCheckUtils]: 1: Hoare triple {11880#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L290 TraceCheckUtils]: 3: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L290 TraceCheckUtils]: 4: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,367 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {11880#true} {11880#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L272 TraceCheckUtils]: 6: Hoare triple {11880#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11880#true} {11880#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L272 TraceCheckUtils]: 11: Hoare triple {11880#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,368 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11880#true} {11880#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {11880#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {11880#true} is VALID [2022-04-07 18:04:59,369 INFO L290 TraceCheckUtils]: 17: Hoare triple {11880#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,369 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11880#true} {11880#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:04:59,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:04:59,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {11944#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {11880#true} is VALID [2022-04-07 18:04:59,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,451 INFO L290 TraceCheckUtils]: 3: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,452 INFO L290 TraceCheckUtils]: 4: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:04:59,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11960#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:04:59,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {11960#(<= finddup_~n (+ finddup_~i~1 3))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11961#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {11961#(<= finddup_~n (+ finddup_~i~1 2))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11963#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {11963#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 18: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {11881#false} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:04:59,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 28: Hoare triple {11881#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 29: Hoare triple {11881#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L290 TraceCheckUtils]: 30: Hoare triple {11881#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,458 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11881#false} {11880#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11881#false} is VALID [2022-04-07 18:04:59,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {11880#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11943#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:04:59,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {11943#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {11880#true} is VALID [2022-04-07 18:04:59,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,459 INFO L272 TraceCheckUtils]: 4: Hoare triple {11880#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {11880#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L272 TraceCheckUtils]: 6: Hoare triple {11880#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11880#true} {11880#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:04:59,460 INFO L290 TraceCheckUtils]: 11: Hoare triple {11880#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {11880#true} is VALID [2022-04-07 18:04:59,461 INFO L272 TraceCheckUtils]: 12: Hoare triple {11880#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11944#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:04:59,461 INFO L290 TraceCheckUtils]: 13: Hoare triple {11944#(= |#memory_int| |old(#memory_int)|)} [138] #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] {11880#true} is VALID [2022-04-07 18:04:59,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {11880#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,461 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11880#true} {11880#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11880#true} is VALID [2022-04-07 18:04:59,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {11880#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:04:59,462 INFO L272 TraceCheckUtils]: 17: Hoare triple {11880#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11944#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:04:59,462 INFO L290 TraceCheckUtils]: 18: Hoare triple {11944#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L272 TraceCheckUtils]: 19: Hoare triple {11880#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L290 TraceCheckUtils]: 20: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L290 TraceCheckUtils]: 21: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L290 TraceCheckUtils]: 22: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11880#true} {11880#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L272 TraceCheckUtils]: 24: Hoare triple {11880#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L290 TraceCheckUtils]: 25: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L290 TraceCheckUtils]: 26: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L290 TraceCheckUtils]: 27: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11880#true} {11880#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,463 INFO L272 TraceCheckUtils]: 29: Hoare triple {11880#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L290 TraceCheckUtils]: 30: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L290 TraceCheckUtils]: 31: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L290 TraceCheckUtils]: 32: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11880#true} {11880#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L290 TraceCheckUtils]: 34: Hoare triple {11880#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L290 TraceCheckUtils]: 35: Hoare triple {11880#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11880#true} {11880#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:04:59,464 INFO L290 TraceCheckUtils]: 37: Hoare triple {11880#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {11880#true} is VALID [2022-04-07 18:04:59,466 INFO L272 TraceCheckUtils]: 38: Hoare triple {11880#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11944#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:04:59,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {11944#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {11880#true} is VALID [2022-04-07 18:04:59,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {11880#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,467 INFO L290 TraceCheckUtils]: 41: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,467 INFO L290 TraceCheckUtils]: 42: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,468 INFO L290 TraceCheckUtils]: 43: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,468 INFO L290 TraceCheckUtils]: 44: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,469 INFO L290 TraceCheckUtils]: 45: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,470 INFO L290 TraceCheckUtils]: 46: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:04:59,470 INFO L290 TraceCheckUtils]: 47: Hoare triple {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11960#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:04:59,471 INFO L290 TraceCheckUtils]: 48: Hoare triple {11960#(<= finddup_~n (+ finddup_~i~1 3))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11961#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,471 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#(<= finddup_~n (+ finddup_~i~1 2))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,472 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,472 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,473 INFO L290 TraceCheckUtils]: 52: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11963#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:04:59,473 INFO L290 TraceCheckUtils]: 53: Hoare triple {11963#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,473 INFO L290 TraceCheckUtils]: 54: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,473 INFO L290 TraceCheckUtils]: 55: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 56: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 57: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 58: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 59: Hoare triple {11881#false} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 60: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 61: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 62: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 63: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 64: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 65: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,474 INFO L290 TraceCheckUtils]: 66: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L290 TraceCheckUtils]: 67: Hoare triple {11881#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L290 TraceCheckUtils]: 68: Hoare triple {11881#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L290 TraceCheckUtils]: 69: Hoare triple {11881#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {11881#false} {11880#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L290 TraceCheckUtils]: 71: Hoare triple {11881#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L272 TraceCheckUtils]: 72: Hoare triple {11881#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L290 TraceCheckUtils]: 73: Hoare triple {11881#false} [157] __VERIFIER_assertENTRY-->L10: 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] {11881#false} is VALID [2022-04-07 18:04:59,475 INFO L290 TraceCheckUtils]: 74: Hoare triple {11881#false} [164] L10-->L10-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[] {11881#false} is VALID [2022-04-07 18:04:59,476 INFO L290 TraceCheckUtils]: 75: Hoare triple {11881#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,477 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 43 proven. 15 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-07 18:04:59,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:04:59,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [714421672] [2022-04-07 18:04:59,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [714421672] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:04:59,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1834886092] [2022-04-07 18:04:59,477 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-04-07 18:04:59,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:04:59,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:04:59,479 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:04:59,480 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-07 18:04:59,582 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2022-04-07 18:04:59,582 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 18:04:59,583 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-07 18:04:59,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:04:59,600 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:04:59,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {11880#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {11880#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {11880#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {11880#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11880#true} {11880#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {11880#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L272 TraceCheckUtils]: 12: Hoare triple {11880#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {11880#true} [138] #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] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {11880#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11880#true} {11880#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 16: Hoare triple {11880#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L272 TraceCheckUtils]: 17: Hoare triple {11880#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {11880#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L272 TraceCheckUtils]: 19: Hoare triple {11880#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 20: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 21: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,801 INFO L290 TraceCheckUtils]: 22: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11880#true} {11880#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L272 TraceCheckUtils]: 24: Hoare triple {11880#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 25: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 26: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11880#true} {11880#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L272 TraceCheckUtils]: 29: Hoare triple {11880#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 30: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 31: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 32: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11880#true} {11880#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 34: Hoare triple {11880#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L290 TraceCheckUtils]: 35: Hoare triple {11880#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:04:59,802 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11880#true} {11880#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:04:59,803 INFO L290 TraceCheckUtils]: 37: Hoare triple {11880#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {11880#true} is VALID [2022-04-07 18:04:59,803 INFO L272 TraceCheckUtils]: 38: Hoare triple {11880#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11880#true} is VALID [2022-04-07 18:04:59,803 INFO L290 TraceCheckUtils]: 39: Hoare triple {11880#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {11880#true} is VALID [2022-04-07 18:04:59,803 INFO L290 TraceCheckUtils]: 40: Hoare triple {11880#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,804 INFO L290 TraceCheckUtils]: 41: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,804 INFO L290 TraceCheckUtils]: 42: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:04:59,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,805 INFO L290 TraceCheckUtils]: 44: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,805 INFO L290 TraceCheckUtils]: 45: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,806 INFO L290 TraceCheckUtils]: 46: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:04:59,806 INFO L290 TraceCheckUtils]: 47: Hoare triple {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11960#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:04:59,806 INFO L290 TraceCheckUtils]: 48: Hoare triple {11960#(<= finddup_~n (+ finddup_~i~1 3))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11961#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:04:59,807 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#(<= finddup_~n (+ finddup_~i~1 2))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,807 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,807 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:04:59,808 INFO L290 TraceCheckUtils]: 52: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11963#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:04:59,808 INFO L290 TraceCheckUtils]: 53: Hoare triple {11963#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,808 INFO L290 TraceCheckUtils]: 54: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,808 INFO L290 TraceCheckUtils]: 55: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 56: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 57: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 58: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 59: Hoare triple {11881#false} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 60: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 61: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 62: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 63: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 64: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 65: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 66: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 67: Hoare triple {11881#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 68: Hoare triple {11881#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {11881#false} is VALID [2022-04-07 18:04:59,809 INFO L290 TraceCheckUtils]: 69: Hoare triple {11881#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {11881#false} {11880#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L290 TraceCheckUtils]: 71: Hoare triple {11881#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L272 TraceCheckUtils]: 72: Hoare triple {11881#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L290 TraceCheckUtils]: 73: Hoare triple {11881#false} [157] __VERIFIER_assertENTRY-->L10: 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] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L290 TraceCheckUtils]: 74: Hoare triple {11881#false} [164] L10-->L10-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[] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L290 TraceCheckUtils]: 75: Hoare triple {11881#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:04:59,810 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 43 proven. 15 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-07 18:04:59,810 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:05:00,063 INFO L290 TraceCheckUtils]: 75: Hoare triple {11881#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:05:00,063 INFO L290 TraceCheckUtils]: 74: Hoare triple {11881#false} [164] L10-->L10-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[] {11881#false} is VALID [2022-04-07 18:05:00,063 INFO L290 TraceCheckUtils]: 73: Hoare triple {11881#false} [157] __VERIFIER_assertENTRY-->L10: 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] {11881#false} is VALID [2022-04-07 18:05:00,063 INFO L272 TraceCheckUtils]: 72: Hoare triple {11881#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 71: Hoare triple {11881#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {11881#false} {11880#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 69: Hoare triple {11881#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 68: Hoare triple {11881#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 67: Hoare triple {11881#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 66: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 65: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 64: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 63: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 62: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 61: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:05:00,064 INFO L290 TraceCheckUtils]: 60: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 59: Hoare triple {11881#false} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 58: Hoare triple {11881#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 57: Hoare triple {11881#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 56: Hoare triple {11881#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 55: Hoare triple {11881#false} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 54: Hoare triple {11881#false} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:05:00,065 INFO L290 TraceCheckUtils]: 53: Hoare triple {11963#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11881#false} is VALID [2022-04-07 18:05:00,066 INFO L290 TraceCheckUtils]: 52: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11963#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:05:00,066 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:05:00,066 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:05:00,067 INFO L290 TraceCheckUtils]: 49: Hoare triple {11961#(<= finddup_~n (+ finddup_~i~1 2))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11962#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:05:00,067 INFO L290 TraceCheckUtils]: 48: Hoare triple {11960#(<= finddup_~n (+ finddup_~i~1 3))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {11961#(<= finddup_~n (+ finddup_~i~1 2))} is VALID [2022-04-07 18:05:00,068 INFO L290 TraceCheckUtils]: 47: Hoare triple {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {11960#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:05:00,068 INFO L290 TraceCheckUtils]: 46: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11959#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:05:00,069 INFO L290 TraceCheckUtils]: 45: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:05:00,069 INFO L290 TraceCheckUtils]: 44: Hoare triple {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:05:00,069 INFO L290 TraceCheckUtils]: 43: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {11958#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:05:00,070 INFO L290 TraceCheckUtils]: 42: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:05:00,075 INFO L290 TraceCheckUtils]: 41: Hoare triple {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:05:00,076 INFO L290 TraceCheckUtils]: 40: Hoare triple {11880#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {11957#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:05:00,076 INFO L290 TraceCheckUtils]: 39: Hoare triple {11880#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {11880#true} is VALID [2022-04-07 18:05:00,076 INFO L272 TraceCheckUtils]: 38: Hoare triple {11880#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L290 TraceCheckUtils]: 37: Hoare triple {11880#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11880#true} {11880#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L290 TraceCheckUtils]: 35: Hoare triple {11880#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L290 TraceCheckUtils]: 34: Hoare triple {11880#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11880#true} {11880#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L290 TraceCheckUtils]: 32: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:05:00,077 INFO L290 TraceCheckUtils]: 30: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L272 TraceCheckUtils]: 29: Hoare triple {11880#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11880#true} {11880#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L272 TraceCheckUtils]: 24: Hoare triple {11880#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11880#true} {11880#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:05:00,078 INFO L290 TraceCheckUtils]: 22: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L290 TraceCheckUtils]: 21: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L290 TraceCheckUtils]: 20: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L272 TraceCheckUtils]: 19: Hoare triple {11880#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {11880#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L272 TraceCheckUtils]: 17: Hoare triple {11880#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L290 TraceCheckUtils]: 16: Hoare triple {11880#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11880#true} {11880#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11880#true} is VALID [2022-04-07 18:05:00,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {11880#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L290 TraceCheckUtils]: 13: Hoare triple {11880#true} [138] #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] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L272 TraceCheckUtils]: 12: Hoare triple {11880#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L290 TraceCheckUtils]: 11: Hoare triple {11880#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11880#true} {11880#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {11880#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {11880#true} [136] L16-->L16-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[] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {11880#true} [133] assume_abort_if_notENTRY-->L16: 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] {11880#true} is VALID [2022-04-07 18:05:00,080 INFO L272 TraceCheckUtils]: 6: Hoare triple {11880#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {11880#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L272 TraceCheckUtils]: 4: Hoare triple {11880#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11880#true} {11880#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {11880#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {11880#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L272 TraceCheckUtils]: 0: Hoare triple {11880#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11880#true} is VALID [2022-04-07 18:05:00,081 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 43 proven. 15 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-07 18:05:00,082 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1834886092] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 18:05:00,082 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 18:05:00,082 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 9] total 11 [2022-04-07 18:05:00,082 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1752929250] [2022-04-07 18:05:00,082 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 18:05:00,083 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 76 [2022-04-07 18:05:00,083 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:05:00,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:05:00,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:05:00,153 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 18:05:00,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:05:00,154 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 18:05:00,154 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-07 18:05:00,154 INFO L87 Difference]: Start difference. First operand 116 states and 135 transitions. Second operand has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:05:01,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:05:01,125 INFO L93 Difference]: Finished difference Result 143 states and 166 transitions. [2022-04-07 18:05:01,126 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-07 18:05:01,126 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 76 [2022-04-07 18:05:01,126 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:05:01,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:05:01,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 102 transitions. [2022-04-07 18:05:01,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:05:01,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 102 transitions. [2022-04-07 18:05:01,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 102 transitions. [2022-04-07 18:05:01,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:05:01,243 INFO L225 Difference]: With dead ends: 143 [2022-04-07 18:05:01,243 INFO L226 Difference]: Without dead ends: 141 [2022-04-07 18:05:01,244 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 191 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=165, Invalid=387, Unknown=0, NotChecked=0, Total=552 [2022-04-07 18:05:01,244 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 115 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 77 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 125 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 398 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-07 18:05:01,244 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [125 Valid, 55 Invalid, 398 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 321 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-07 18:05:01,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-04-07 18:05:01,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 131. [2022-04-07 18:05:01,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:05:01,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 131 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 100 states have internal predecessors, (111), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:05:01,248 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 131 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 100 states have internal predecessors, (111), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:05:01,248 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 131 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 100 states have internal predecessors, (111), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:05:01,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:05:01,251 INFO L93 Difference]: Finished difference Result 141 states and 164 transitions. [2022-04-07 18:05:01,251 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 164 transitions. [2022-04-07 18:05:01,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:05:01,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:05:01,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 100 states have internal predecessors, (111), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 141 states. [2022-04-07 18:05:01,252 INFO L87 Difference]: Start difference. First operand has 131 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 100 states have internal predecessors, (111), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 141 states. [2022-04-07 18:05:01,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:05:01,255 INFO L93 Difference]: Finished difference Result 141 states and 164 transitions. [2022-04-07 18:05:01,255 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 164 transitions. [2022-04-07 18:05:01,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:05:01,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:05:01,256 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:05:01,256 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:05:01,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 100 states have internal predecessors, (111), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:05:01,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 153 transitions. [2022-04-07 18:05:01,258 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 153 transitions. Word has length 76 [2022-04-07 18:05:01,258 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:05:01,259 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 153 transitions. [2022-04-07 18:05:01,259 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 4.181818181818182) internal successors, (46), 9 states have internal predecessors, (46), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:05:01,259 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 153 transitions. [2022-04-07 18:05:01,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-07 18:05:01,260 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:05:01,260 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 18:05:01,289 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-07 18:05:01,480 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-07 18:05:01,480 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:05:01,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:05:01,480 INFO L85 PathProgramCache]: Analyzing trace with hash 181119312, now seen corresponding path program 6 times [2022-04-07 18:05:01,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:05:01,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396787649] [2022-04-07 18:05:01,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:05:01,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:05:01,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:01,823 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:05:01,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:01,827 INFO L290 TraceCheckUtils]: 0: Hoare triple {13071#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {13002#true} is VALID [2022-04-07 18:05:01,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {13002#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:01,828 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13002#true} {13002#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:01,828 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:05:01,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:01,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:01,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:01,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:01,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13002#true} {13002#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {13002#true} is VALID [2022-04-07 18:05:01,836 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:05:01,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:01,848 INFO L290 TraceCheckUtils]: 0: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [138] #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] {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:05:01,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:05:01,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {13002#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {13014#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:05:01,850 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:05:01,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:02,210 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:05:02,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:02,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:02,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:02,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:02,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13002#true} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:02,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:05:02,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:02,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:02,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:02,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:02,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13002#true} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:02,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:05:02,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:02,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:05:02,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:02,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:02,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13087#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} is VALID [2022-04-07 18:05:02,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:02,254 INFO L272 TraceCheckUtils]: 1: Hoare triple {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13002#true} is VALID [2022-04-07 18:05:02,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:02,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:02,254 INFO L290 TraceCheckUtils]: 4: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:02,255 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13002#true} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:02,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13002#true} is VALID [2022-04-07 18:05:02,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:02,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:02,256 INFO L290 TraceCheckUtils]: 9: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:02,256 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13002#true} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:02,256 INFO L272 TraceCheckUtils]: 11: Hoare triple {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13002#true} is VALID [2022-04-07 18:05:02,257 INFO L290 TraceCheckUtils]: 12: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:05:02,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:02,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:02,259 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13087#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} is VALID [2022-04-07 18:05:02,263 INFO L290 TraceCheckUtils]: 16: Hoare triple {13087#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:05:02,265 INFO L290 TraceCheckUtils]: 17: Hoare triple {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:05:02,268 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {13015#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:05:02,269 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:05:02,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:09,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {13091#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:05:09,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {13091#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13092#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {13092#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13093#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:05:09,804 INFO L290 TraceCheckUtils]: 3: Hoare triple {13093#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13094#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,808 INFO L290 TraceCheckUtils]: 4: Hoare triple {13094#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13096#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:05:09,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {13096#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13097#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:05:09,818 INFO L290 TraceCheckUtils]: 9: Hoare triple {13097#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13098#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:05:09,821 INFO L290 TraceCheckUtils]: 10: Hoare triple {13098#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 3) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,824 INFO L290 TraceCheckUtils]: 11: Hoare triple {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,828 INFO L290 TraceCheckUtils]: 12: Hoare triple {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13100#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 4) finddup_~n) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 4) finddup_~n) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~n)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~n) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:05:09,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {13100#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 4) finddup_~n) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 4) finddup_~n) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~n)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~n) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13101#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (or (<= (+ finddup_~j~1 3) finddup_~n) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {13101#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (or (<= (+ finddup_~j~1 3) finddup_~n) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13102#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,841 INFO L290 TraceCheckUtils]: 15: Hoare triple {13102#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13103#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,846 INFO L290 TraceCheckUtils]: 16: Hoare triple {13103#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13104#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (<= finddup_~j~1 (+ finddup_~i~1 2)))} is VALID [2022-04-07 18:05:09,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {13104#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (<= finddup_~j~1 (+ finddup_~i~1 2)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13105#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n)))} is VALID [2022-04-07 18:05:09,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {13105#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13106#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:05:09,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {13106#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13107#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 1) finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~j~1 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:05:09,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {13107#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 1) finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~j~1 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13108#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,873 INFO L290 TraceCheckUtils]: 21: Hoare triple {13108#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13109#(or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#in~a.base| finddup_~a.base)))} is VALID [2022-04-07 18:05:09,877 INFO L290 TraceCheckUtils]: 22: Hoare triple {13109#(or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#in~a.base| finddup_~a.base)))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13110#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,882 INFO L290 TraceCheckUtils]: 23: Hoare triple {13110#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13111#(or (and (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |finddup_#in~a.base|))) (or (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| |finddup_#t~mem10|))) (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {13111#(or (and (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |finddup_#in~a.base|))) (or (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| |finddup_#t~mem10|))) (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,886 INFO L290 TraceCheckUtils]: 25: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,893 INFO L290 TraceCheckUtils]: 31: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,897 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {13003#false} is VALID [2022-04-07 18:05:09,898 INFO L272 TraceCheckUtils]: 0: Hoare triple {13002#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13071#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {13071#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {13002#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13002#true} {13002#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L272 TraceCheckUtils]: 4: Hoare triple {13002#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 5: Hoare triple {13002#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L272 TraceCheckUtils]: 6: Hoare triple {13002#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 7: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13002#true} {13002#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {13002#true} is VALID [2022-04-07 18:05:09,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {13002#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {13002#true} is VALID [2022-04-07 18:05:09,899 INFO L272 TraceCheckUtils]: 12: Hoare triple {13002#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {13072#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:05:09,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [138] #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] {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:05:09,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:05:09,901 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {13002#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {13014#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:05:09,901 INFO L290 TraceCheckUtils]: 16: Hoare triple {13014#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {13015#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-07 18:05:09,902 INFO L272 TraceCheckUtils]: 17: Hoare triple {13015#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {13072#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:05:09,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:09,902 INFO L272 TraceCheckUtils]: 19: Hoare triple {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13002#true} is VALID [2022-04-07 18:05:09,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:09,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:09,903 INFO L290 TraceCheckUtils]: 22: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:09,903 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13002#true} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:09,903 INFO L272 TraceCheckUtils]: 24: Hoare triple {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13002#true} is VALID [2022-04-07 18:05:09,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:09,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:09,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:09,904 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13002#true} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:05:09,904 INFO L272 TraceCheckUtils]: 29: Hoare triple {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13002#true} is VALID [2022-04-07 18:05:09,905 INFO L290 TraceCheckUtils]: 30: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:05:09,905 INFO L290 TraceCheckUtils]: 31: Hoare triple {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:09,905 INFO L290 TraceCheckUtils]: 32: Hoare triple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:09,906 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} {13074#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13087#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} is VALID [2022-04-07 18:05:09,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {13087#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:05:09,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:05:09,913 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13088#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {13015#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:05:09,915 INFO L290 TraceCheckUtils]: 37: Hoare triple {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:05:09,916 INFO L272 TraceCheckUtils]: 38: Hoare triple {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {13072#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:05:09,917 INFO L290 TraceCheckUtils]: 39: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {13091#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:05:09,917 INFO L290 TraceCheckUtils]: 40: Hoare triple {13091#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13092#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,918 INFO L290 TraceCheckUtils]: 41: Hoare triple {13092#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13093#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:05:09,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {13093#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13094#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {13094#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,925 INFO L290 TraceCheckUtils]: 44: Hoare triple {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,926 INFO L290 TraceCheckUtils]: 45: Hoare triple {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,928 INFO L290 TraceCheckUtils]: 46: Hoare triple {13095#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13096#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:05:09,929 INFO L290 TraceCheckUtils]: 47: Hoare triple {13096#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13097#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:05:09,931 INFO L290 TraceCheckUtils]: 48: Hoare triple {13097#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13098#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:05:09,935 INFO L290 TraceCheckUtils]: 49: Hoare triple {13098#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 3) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,937 INFO L290 TraceCheckUtils]: 50: Hoare triple {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,941 INFO L290 TraceCheckUtils]: 51: Hoare triple {13099#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 4) finddup_~n) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (+ finddup_~i~1 3) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (+ finddup_~i~1 3) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13100#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 4) finddup_~n) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 4) finddup_~n) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~n)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~n) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:05:09,945 INFO L290 TraceCheckUtils]: 52: Hoare triple {13100#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 4) finddup_~n) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 4) finddup_~n) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~n)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~n) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13101#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (or (<= (+ finddup_~j~1 3) finddup_~n) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,949 INFO L290 TraceCheckUtils]: 53: Hoare triple {13101#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (or (<= (+ finddup_~j~1 3) finddup_~n) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13102#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,951 INFO L290 TraceCheckUtils]: 54: Hoare triple {13102#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13103#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:05:09,956 INFO L290 TraceCheckUtils]: 55: Hoare triple {13103#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) finddup_~i~1)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 3) finddup_~n)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13104#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (<= finddup_~j~1 (+ finddup_~i~1 2)))} is VALID [2022-04-07 18:05:09,959 INFO L290 TraceCheckUtils]: 56: Hoare triple {13104#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (<= finddup_~j~1 (+ finddup_~i~1 2)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13105#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n)))} is VALID [2022-04-07 18:05:09,963 INFO L290 TraceCheckUtils]: 57: Hoare triple {13105#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13106#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:05:09,968 INFO L290 TraceCheckUtils]: 58: Hoare triple {13106#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 2) finddup_~n) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ finddup_~j~1 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (+ finddup_~i~1 finddup_~n))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13107#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 1) finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~j~1 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:05:09,971 INFO L290 TraceCheckUtils]: 59: Hoare triple {13107#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= (+ finddup_~j~1 1) finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (<= (+ finddup_~j~1 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) (+ finddup_~i~1 finddup_~n)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (<= (+ finddup_~j~1 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) (+ finddup_~i~1 finddup_~n)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13108#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,977 INFO L290 TraceCheckUtils]: 60: Hoare triple {13108#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ finddup_~i~1 2) (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (<= (+ finddup_~i~1 2) (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13109#(or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#in~a.base| finddup_~a.base)))} is VALID [2022-04-07 18:05:09,979 INFO L290 TraceCheckUtils]: 61: Hoare triple {13109#(or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#in~a.base| finddup_~a.base)))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13110#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:05:09,984 INFO L290 TraceCheckUtils]: 62: Hoare triple {13110#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13111#(or (and (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |finddup_#in~a.base|))) (or (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| |finddup_#t~mem10|))) (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,986 INFO L290 TraceCheckUtils]: 63: Hoare triple {13111#(or (and (not (= ((as const (Array Int Int)) 0) (select |old(#memory_int)| |finddup_#in~a.base|))) (or (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| |finddup_#t~mem10|))) (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (= |finddup_#t~mem10| 0) (= |finddup_#t~mem11| (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,987 INFO L290 TraceCheckUtils]: 64: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,988 INFO L290 TraceCheckUtils]: 65: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,989 INFO L290 TraceCheckUtils]: 66: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,990 INFO L290 TraceCheckUtils]: 67: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,991 INFO L290 TraceCheckUtils]: 68: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,992 INFO L290 TraceCheckUtils]: 69: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,994 INFO L290 TraceCheckUtils]: 70: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,995 INFO L290 TraceCheckUtils]: 71: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,996 INFO L290 TraceCheckUtils]: 72: Hoare triple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-07 18:05:09,999 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13112#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} {13035#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {13003#false} is VALID [2022-04-07 18:05:09,999 INFO L290 TraceCheckUtils]: 74: Hoare triple {13003#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {13003#false} is VALID [2022-04-07 18:05:09,999 INFO L272 TraceCheckUtils]: 75: Hoare triple {13003#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {13003#false} is VALID [2022-04-07 18:05:10,000 INFO L290 TraceCheckUtils]: 76: Hoare triple {13003#false} [157] __VERIFIER_assertENTRY-->L10: 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] {13003#false} is VALID [2022-04-07 18:05:10,000 INFO L290 TraceCheckUtils]: 77: Hoare triple {13003#false} [164] L10-->L10-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[] {13003#false} is VALID [2022-04-07 18:05:10,000 INFO L290 TraceCheckUtils]: 78: Hoare triple {13003#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13003#false} is VALID [2022-04-07 18:05:10,001 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 14 proven. 83 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-07 18:05:10,001 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:05:10,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [396787649] [2022-04-07 18:05:10,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [396787649] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:05:10,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [555410570] [2022-04-07 18:05:10,001 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-07 18:05:10,001 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:05:10,001 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:05:10,004 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:05:10,014 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-07 18:05:10,148 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-07 18:05:10,149 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 18:05:10,151 INFO L263 TraceCheckSpWp]: Trace formula consists of 282 conjuncts, 101 conjunts are in the unsatisfiable core [2022-04-07 18:05:10,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:05:10,179 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:05:10,257 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-07 18:05:29,473 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 29 treesize of output 24 [2022-04-07 18:05:59,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {13002#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {13002#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {13002#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13002#true} {13002#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {13002#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {13002#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L272 TraceCheckUtils]: 6: Hoare triple {13002#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L290 TraceCheckUtils]: 7: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13002#true} is VALID [2022-04-07 18:05:59,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {13002#true} [136] L16-->L16-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[] {13002#true} is VALID [2022-04-07 18:05:59,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {13002#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13002#true} is VALID [2022-04-07 18:05:59,449 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13002#true} {13002#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {13002#true} is VALID [2022-04-07 18:05:59,449 INFO L290 TraceCheckUtils]: 11: Hoare triple {13002#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {13149#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-07 18:05:59,449 INFO L272 TraceCheckUtils]: 12: Hoare triple {13149#(= |main_#t~malloc13.offset| 0)} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {13002#true} is VALID [2022-04-07 18:05:59,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {13002#true} [138] #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] {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:05:59,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:05:59,451 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13073#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {13149#(= |main_#t~malloc13.offset| 0)} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {13162#(and (= |main_#t~malloc13.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|)))} is VALID [2022-04-07 18:05:59,451 INFO L290 TraceCheckUtils]: 16: Hoare triple {13162#(and (= |main_#t~malloc13.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|)))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {13166#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} is VALID [2022-04-07 18:05:59,452 INFO L272 TraceCheckUtils]: 17: Hoare triple {13166#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {13072#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:05:59,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {13173#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:05:59,452 INFO L272 TraceCheckUtils]: 19: Hoare triple {13173#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13002#true} is VALID [2022-04-07 18:05:59,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:05:59,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:59,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:59,456 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} {13173#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {13189#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-07 18:05:59,457 INFO L272 TraceCheckUtils]: 24: Hoare triple {13189#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13002#true} is VALID [2022-04-07 18:05:59,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:05:59,457 INFO L290 TraceCheckUtils]: 26: Hoare triple {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:59,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:59,459 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} {13189#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {13205#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:05:59,459 INFO L272 TraceCheckUtils]: 29: Hoare triple {13205#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13002#true} is VALID [2022-04-07 18:05:59,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {13002#true} [133] assume_abort_if_notENTRY-->L16: 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] {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:05:59,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {13089#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:59,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13090#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:05:59,461 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13090#(not (= |assume_abort_if_not_#in~cond| 0))} {13205#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {13221#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:06:01,467 WARN L290 TraceCheckUtils]: 34: Hoare triple {13221#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {13225#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-07 18:06:03,472 WARN L290 TraceCheckUtils]: 35: Hoare triple {13225#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13225#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-07 18:06:03,474 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13225#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} {13166#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {13232#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} is VALID [2022-04-07 18:06:03,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {13232#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {13232#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} is VALID [2022-04-07 18:06:03,476 INFO L272 TraceCheckUtils]: 38: Hoare triple {13232#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {13072#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:06:03,477 INFO L290 TraceCheckUtils]: 39: Hoare triple {13072#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {13242#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,477 INFO L290 TraceCheckUtils]: 40: Hoare triple {13242#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13246#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,478 INFO L290 TraceCheckUtils]: 41: Hoare triple {13246#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13250#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))))} is VALID [2022-04-07 18:06:03,478 INFO L290 TraceCheckUtils]: 42: Hoare triple {13250#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13254#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,479 INFO L290 TraceCheckUtils]: 43: Hoare triple {13254#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13254#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,479 INFO L290 TraceCheckUtils]: 44: Hoare triple {13254#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13261#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} is VALID [2022-04-07 18:06:03,480 INFO L290 TraceCheckUtils]: 45: Hoare triple {13261#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13265#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,481 INFO L290 TraceCheckUtils]: 46: Hoare triple {13265#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13269#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,482 INFO L290 TraceCheckUtils]: 47: Hoare triple {13269#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13273#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (< finddup_~j~1 finddup_~n) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} is VALID [2022-04-07 18:06:03,482 INFO L290 TraceCheckUtils]: 48: Hoare triple {13273#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (< finddup_~j~1 finddup_~n) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13277#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (< finddup_~j~1 finddup_~n))} is VALID [2022-04-07 18:06:03,483 INFO L290 TraceCheckUtils]: 49: Hoare triple {13277#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (< finddup_~j~1 finddup_~n))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13281#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (< v_finddup_~j~1_119 finddup_~n) (<= finddup_~j~1 (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,486 INFO L290 TraceCheckUtils]: 50: Hoare triple {13281#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (< v_finddup_~j~1_119 finddup_~n) (<= finddup_~j~1 (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13285#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))))} is VALID [2022-04-07 18:06:03,488 INFO L290 TraceCheckUtils]: 51: Hoare triple {13285#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13289#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:06:03,491 INFO L290 TraceCheckUtils]: 52: Hoare triple {13289#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13293#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:06:03,495 INFO L290 TraceCheckUtils]: 53: Hoare triple {13293#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13297#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,499 INFO L290 TraceCheckUtils]: 54: Hoare triple {13297#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (< finddup_~j~1 finddup_~n))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,506 INFO L290 TraceCheckUtils]: 55: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,513 INFO L290 TraceCheckUtils]: 56: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,519 INFO L290 TraceCheckUtils]: 57: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,525 INFO L290 TraceCheckUtils]: 58: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,531 INFO L290 TraceCheckUtils]: 59: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,536 INFO L290 TraceCheckUtils]: 60: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,542 INFO L290 TraceCheckUtils]: 61: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} is VALID [2022-04-07 18:06:03,549 INFO L290 TraceCheckUtils]: 62: Hoare triple {13301#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_119 finddup_~n) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* v_finddup_~j~1_119 4))))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) finddup_~a.offset) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (exists ((finddup_~j~1 Int)) (and (<= 2 finddup_~j~1) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (< finddup_~j~1 finddup_~n))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13326#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (< finddup_~j~1 finddup_~n) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))} is VALID [2022-04-07 18:06:03,556 INFO L290 TraceCheckUtils]: 63: Hoare triple {13326#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (< finddup_~j~1 finddup_~n) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {13330#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (< finddup_~j~1 finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,562 INFO L290 TraceCheckUtils]: 64: Hoare triple {13330#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (< finddup_~j~1 finddup_~n) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {13334#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)))) (< v_finddup_~j~1_121 finddup_~n) (<= finddup_~j~1 (+ v_finddup_~j~1_121 1)))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,571 INFO L290 TraceCheckUtils]: 65: Hoare triple {13334#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)))) (< v_finddup_~j~1_121 finddup_~n) (<= finddup_~j~1 (+ v_finddup_~j~1_121 1)))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13338#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)))) (<= finddup_~n (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,578 INFO L290 TraceCheckUtils]: 66: Hoare triple {13338#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)))) (<= finddup_~n (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13342#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (<= finddup_~n (+ v_finddup_~j~1_121 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,583 INFO L290 TraceCheckUtils]: 67: Hoare triple {13342#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (<= finddup_~n (+ v_finddup_~j~1_121 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {13346#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (< finddup_~i~1 finddup_~n) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (<= finddup_~n (+ v_finddup_~j~1_121 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,592 INFO L290 TraceCheckUtils]: 68: Hoare triple {13346#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (< finddup_~i~1 finddup_~n) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (<= finddup_~n (+ v_finddup_~j~1_121 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {13346#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (< finddup_~i~1 finddup_~n) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (<= finddup_~n (+ v_finddup_~j~1_121 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,600 INFO L290 TraceCheckUtils]: 69: Hoare triple {13346#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (< finddup_~i~1 finddup_~n) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_121 Int)) (and (<= finddup_~n (+ v_finddup_~j~1_121 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (- 4) (* finddup_~i~1 4))))) (< v_finddup_~j~1_121 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {13353#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int)) (and (< v_finddup_~i~1_82 finddup_~n) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_121 finddup_~n) (<= finddup_~i~1 (+ v_finddup_~i~1_82 1)))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} is VALID [2022-04-07 18:06:03,621 INFO L290 TraceCheckUtils]: 70: Hoare triple {13353#(and (<= |finddup_#in~n| finddup_~n) (exists ((v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int)) (and (< v_finddup_~i~1_82 finddup_~n) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (<= finddup_~n (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_121 finddup_~n) (<= finddup_~i~1 (+ v_finddup_~i~1_82 1)))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (<= 2 v_finddup_~j~1_120) (< v_finddup_~j~1_120 finddup_~n))) (exists ((v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 finddup_~n))))} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {13357#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int) (v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int) (v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (< v_finddup_~i~1_82 (+ v_finddup_~j~1_119 1)) (<= 2 v_finddup_~j~1_120) (<= |finddup_#in~n| (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_120 (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_121 (+ v_finddup_~i~1_82 1)))))} is VALID [2022-04-07 18:06:03,626 INFO L290 TraceCheckUtils]: 71: Hoare triple {13357#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int) (v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int) (v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (< v_finddup_~i~1_82 (+ v_finddup_~j~1_119 1)) (<= 2 v_finddup_~j~1_120) (<= |finddup_#in~n| (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_120 (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_121 (+ v_finddup_~i~1_82 1)))))} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {13357#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int) (v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int) (v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (< v_finddup_~i~1_82 (+ v_finddup_~j~1_119 1)) (<= 2 v_finddup_~j~1_120) (<= |finddup_#in~n| (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_120 (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_121 (+ v_finddup_~i~1_82 1)))))} is VALID [2022-04-07 18:06:03,631 INFO L290 TraceCheckUtils]: 72: Hoare triple {13357#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int) (v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int) (v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (< v_finddup_~i~1_82 (+ v_finddup_~j~1_119 1)) (<= 2 v_finddup_~j~1_120) (<= |finddup_#in~n| (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_120 (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_121 (+ v_finddup_~i~1_82 1)))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13357#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int) (v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int) (v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (< v_finddup_~i~1_82 (+ v_finddup_~j~1_119 1)) (<= 2 v_finddup_~j~1_120) (<= |finddup_#in~n| (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_120 (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_121 (+ v_finddup_~i~1_82 1)))))} is VALID [2022-04-07 18:06:03,636 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13357#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (exists ((v_finddup_~j~1_120 Int) (v_finddup_~j~1_121 Int) (v_finddup_~i~1_82 Int) (v_finddup_~j~1_119 Int)) (and (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_121 4) |finddup_#in~a.offset|)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* v_finddup_~i~1_82 4) (- 4))))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_120 4) |finddup_#in~a.offset|)))) (< v_finddup_~i~1_82 (+ v_finddup_~j~1_119 1)) (<= 2 v_finddup_~j~1_120) (<= |finddup_#in~n| (+ v_finddup_~j~1_119 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_119 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (< v_finddup_~j~1_119 (+ v_finddup_~j~1_121 1)) (< v_finddup_~j~1_120 (+ v_finddup_~j~1_119 1)) (< v_finddup_~j~1_121 (+ v_finddup_~i~1_82 1)))))} {13232#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {13003#false} is VALID [2022-04-07 18:06:03,636 INFO L290 TraceCheckUtils]: 74: Hoare triple {13003#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {13003#false} is VALID [2022-04-07 18:06:03,636 INFO L272 TraceCheckUtils]: 75: Hoare triple {13003#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {13003#false} is VALID [2022-04-07 18:06:03,636 INFO L290 TraceCheckUtils]: 76: Hoare triple {13003#false} [157] __VERIFIER_assertENTRY-->L10: 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] {13003#false} is VALID [2022-04-07 18:06:03,636 INFO L290 TraceCheckUtils]: 77: Hoare triple {13003#false} [164] L10-->L10-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[] {13003#false} is VALID [2022-04-07 18:06:03,637 INFO L290 TraceCheckUtils]: 78: Hoare triple {13003#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13003#false} is VALID [2022-04-07 18:06:03,637 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 81 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-07 18:06:03,637 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:06:07,519 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-07 18:06:08,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [555410570] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:06:08,970 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:06:08,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 38] total 67 [2022-04-07 18:06:08,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1019905230] [2022-04-07 18:06:08,970 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 18:06:08,971 INFO L78 Accepts]: Start accepts. Automaton has has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) Word has length 79 [2022-04-07 18:06:08,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:06:08,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) [2022-04-07 18:06:14,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 122 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-07 18:06:14,814 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 67 states [2022-04-07 18:06:14,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:06:14,815 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2022-04-07 18:06:14,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=306, Invalid=4230, Unknown=20, NotChecked=0, Total=4556 [2022-04-07 18:06:14,816 INFO L87 Difference]: Start difference. First operand 131 states and 153 transitions. Second operand has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) [2022-04-07 18:08:23,481 WARN L232 SmtUtils]: Spent 7.35s on a formula simplification. DAG size of input: 156 DAG size of output: 116 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 18:09:26,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:26,146 INFO L93 Difference]: Finished difference Result 148 states and 171 transitions. [2022-04-07 18:09:26,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 74 states. [2022-04-07 18:09:26,146 INFO L78 Accepts]: Start accepts. Automaton has has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) Word has length 79 [2022-04-07 18:09:26,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:09:26,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) [2022-04-07 18:09:26,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 132 transitions. [2022-04-07 18:09:26,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) [2022-04-07 18:09:26,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 132 transitions. [2022-04-07 18:09:26,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 132 transitions. [2022-04-07 18:09:38,984 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 126 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-07 18:09:38,986 INFO L225 Difference]: With dead ends: 148 [2022-04-07 18:09:38,986 INFO L226 Difference]: Without dead ends: 132 [2022-04-07 18:09:38,990 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 76 SyntacticMatches, 0 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5200 ImplicationChecksByTransitivity, 227.4s TimeCoverageRelationStatistics Valid=1011, Invalid=16195, Unknown=86, NotChecked=0, Total=17292 [2022-04-07 18:09:38,990 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 69 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 1468 mSolverCounterSat, 76 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 2201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 76 IncrementalHoareTripleChecker+Valid, 1468 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 657 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-07 18:09:38,991 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 217 Invalid, 2201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [76 Valid, 1468 Invalid, 0 Unknown, 657 Unchecked, 2.7s Time] [2022-04-07 18:09:38,991 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-07 18:09:38,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 128. [2022-04-07 18:09:38,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:09:38,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 128 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 97 states have internal predecessors, (107), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:09:38,994 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 128 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 97 states have internal predecessors, (107), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:09:38,994 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 128 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 97 states have internal predecessors, (107), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:09:38,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:38,997 INFO L93 Difference]: Finished difference Result 132 states and 153 transitions. [2022-04-07 18:09:38,997 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 153 transitions. [2022-04-07 18:09:38,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:09:38,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:09:38,998 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 97 states have internal predecessors, (107), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 132 states. [2022-04-07 18:09:38,998 INFO L87 Difference]: Start difference. First operand has 128 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 97 states have internal predecessors, (107), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 132 states. [2022-04-07 18:09:39,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:39,000 INFO L93 Difference]: Finished difference Result 132 states and 153 transitions. [2022-04-07 18:09:39,001 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 153 transitions. [2022-04-07 18:09:39,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:09:39,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:09:39,001 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:09:39,001 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:09:39,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 94 states have (on average 1.1382978723404256) internal successors, (107), 97 states have internal predecessors, (107), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-07 18:09:39,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 149 transitions. [2022-04-07 18:09:39,004 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 149 transitions. Word has length 79 [2022-04-07 18:09:39,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:09:39,004 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 149 transitions. [2022-04-07 18:09:39,004 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 67 states, 60 states have (on average 1.5666666666666667) internal successors, (94), 59 states have internal predecessors, (94), 11 states have call successors, (17), 4 states have call predecessors, (17), 7 states have return successors, (14), 11 states have call predecessors, (14), 10 states have call successors, (14) [2022-04-07 18:09:39,004 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 149 transitions. [2022-04-07 18:09:39,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-07 18:09:39,005 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:09:39,005 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 18:09:39,031 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-07 18:09:39,219 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:09:39,219 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:09:39,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:09:39,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1729343584, now seen corresponding path program 1 times [2022-04-07 18:09:39,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:09:39,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1930189827] [2022-04-07 18:09:39,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:09:39,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:09:39,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:09:39,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {14140#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {14069#true} is VALID [2022-04-07 18:09:39,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,429 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14069#true} {14069#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:09:39,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14069#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {14069#true} is VALID [2022-04-07 18:09:39,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:09:39,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [138] #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] {14069#true} is VALID [2022-04-07 18:09:39,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,453 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14069#true} {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:09:39,453 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:09:39,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,462 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:09:39,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,464 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14069#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,465 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:09:39,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14069#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14069#true} is VALID [2022-04-07 18:09:39,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:09:39,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,470 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14069#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L290 TraceCheckUtils]: 0: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L272 TraceCheckUtils]: 1: Hoare triple {14069#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L290 TraceCheckUtils]: 3: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L290 TraceCheckUtils]: 4: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,471 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {14069#true} {14069#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L272 TraceCheckUtils]: 6: Hoare triple {14069#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14069#true} {14069#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L272 TraceCheckUtils]: 11: Hoare triple {14069#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 12: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14069#true} {14069#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,472 INFO L290 TraceCheckUtils]: 16: Hoare triple {14069#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {14069#true} is VALID [2022-04-07 18:09:39,473 INFO L290 TraceCheckUtils]: 17: Hoare triple {14069#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,474 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14069#true} {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} is VALID [2022-04-07 18:09:39,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:09:39,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,679 INFO L290 TraceCheckUtils]: 3: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,680 INFO L290 TraceCheckUtils]: 4: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,681 INFO L290 TraceCheckUtils]: 6: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14155#(and (= |finddup_#in~_j.base| finddup_~_j.base) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (and (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {14155#(and (= |finddup_#in~_j.base| finddup_~_j.base) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (and (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} is VALID [2022-04-07 18:09:39,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} is VALID [2022-04-07 18:09:39,688 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} {14102#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {14118#(and (= main_~a~0.offset 0) (or (= |main_#t~ret14| 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} is VALID [2022-04-07 18:09:39,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-07 18:09:39,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14157#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:09:39,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {14157#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:09:39,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:09:39,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} {14119#(and (= main_~a~0.offset 0) (or (= main_~r~0 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-07 18:09:39,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,714 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14069#true} is VALID [2022-04-07 18:09:39,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 69 [2022-04-07 18:09:39,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,719 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14069#true} is VALID [2022-04-07 18:09:39,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-07 18:09:39,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,724 INFO L290 TraceCheckUtils]: 0: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14069#true} is VALID [2022-04-07 18:09:39,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [196] __VERIFIER_assertEXIT-->L62-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {14069#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14140#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:09:39,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {14140#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {14069#true} is VALID [2022-04-07 18:09:39,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14069#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {14069#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {14069#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {14069#true} is VALID [2022-04-07 18:09:39,727 INFO L272 TraceCheckUtils]: 6: Hoare triple {14069#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {14069#true} is VALID [2022-04-07 18:09:39,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14069#true} {14069#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {14069#true} is VALID [2022-04-07 18:09:39,728 INFO L290 TraceCheckUtils]: 11: Hoare triple {14069#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:09:39,729 INFO L272 TraceCheckUtils]: 12: Hoare triple {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {14141#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:39,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [138] #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] {14069#true} is VALID [2022-04-07 18:09:39,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {14069#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,730 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14069#true} {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:09:39,731 INFO L290 TraceCheckUtils]: 16: Hoare triple {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} is VALID [2022-04-07 18:09:39,731 INFO L272 TraceCheckUtils]: 17: Hoare triple {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {14141#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 18: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L272 TraceCheckUtils]: 19: Hoare triple {14069#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 21: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14069#true} {14069#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L272 TraceCheckUtils]: 24: Hoare triple {14069#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,732 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14069#true} {14069#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L272 TraceCheckUtils]: 29: Hoare triple {14069#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L290 TraceCheckUtils]: 30: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L290 TraceCheckUtils]: 31: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L290 TraceCheckUtils]: 32: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14069#true} {14069#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L290 TraceCheckUtils]: 34: Hoare triple {14069#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {14069#true} is VALID [2022-04-07 18:09:39,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {14069#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,734 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14069#true} {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} is VALID [2022-04-07 18:09:39,735 INFO L290 TraceCheckUtils]: 37: Hoare triple {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {14102#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:09:39,736 INFO L272 TraceCheckUtils]: 38: Hoare triple {14102#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {14141#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:39,737 INFO L290 TraceCheckUtils]: 39: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,738 INFO L290 TraceCheckUtils]: 40: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,739 INFO L290 TraceCheckUtils]: 42: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,739 INFO L290 TraceCheckUtils]: 43: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,740 INFO L290 TraceCheckUtils]: 44: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,741 INFO L290 TraceCheckUtils]: 45: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,741 INFO L290 TraceCheckUtils]: 46: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,742 INFO L290 TraceCheckUtils]: 47: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,743 INFO L290 TraceCheckUtils]: 50: Hoare triple {14154#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14155#(and (= |finddup_#in~_j.base| finddup_~_j.base) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (and (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:39,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {14155#(and (= |finddup_#in~_j.base| finddup_~_j.base) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (and (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|))) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} is VALID [2022-04-07 18:09:39,746 INFO L290 TraceCheckUtils]: 52: Hoare triple {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} is VALID [2022-04-07 18:09:39,748 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {14156#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))))} {14102#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {14118#(and (= main_~a~0.offset 0) (or (= |main_#t~ret14| 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} is VALID [2022-04-07 18:09:39,749 INFO L290 TraceCheckUtils]: 54: Hoare triple {14118#(and (= main_~a~0.offset 0) (or (= |main_#t~ret14| 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {14119#(and (= main_~a~0.offset 0) (or (= main_~r~0 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} is VALID [2022-04-07 18:09:39,749 INFO L272 TraceCheckUtils]: 55: Hoare triple {14119#(and (= main_~a~0.offset 0) (or (= main_~r~0 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {14069#true} is VALID [2022-04-07 18:09:39,749 INFO L290 TraceCheckUtils]: 56: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14157#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:09:39,750 INFO L290 TraceCheckUtils]: 57: Hoare triple {14157#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:09:39,750 INFO L290 TraceCheckUtils]: 58: Hoare triple {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:09:39,751 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} {14119#(and (= main_~a~0.offset 0) (or (= main_~r~0 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,752 INFO L290 TraceCheckUtils]: 60: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,752 INFO L290 TraceCheckUtils]: 61: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,753 INFO L272 TraceCheckUtils]: 62: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {14069#true} is VALID [2022-04-07 18:09:39,753 INFO L290 TraceCheckUtils]: 63: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14069#true} is VALID [2022-04-07 18:09:39,753 INFO L290 TraceCheckUtils]: 64: Hoare triple {14069#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,753 INFO L290 TraceCheckUtils]: 65: Hoare triple {14069#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,754 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {14069#true} {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,754 INFO L290 TraceCheckUtils]: 67: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,755 INFO L290 TraceCheckUtils]: 68: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,755 INFO L272 TraceCheckUtils]: 69: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {14069#true} is VALID [2022-04-07 18:09:39,755 INFO L290 TraceCheckUtils]: 70: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14069#true} is VALID [2022-04-07 18:09:39,755 INFO L290 TraceCheckUtils]: 71: Hoare triple {14069#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,755 INFO L290 TraceCheckUtils]: 72: Hoare triple {14069#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,756 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {14069#true} {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,757 INFO L290 TraceCheckUtils]: 74: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,757 INFO L272 TraceCheckUtils]: 75: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {14069#true} is VALID [2022-04-07 18:09:39,757 INFO L290 TraceCheckUtils]: 76: Hoare triple {14069#true} [157] __VERIFIER_assertENTRY-->L10: 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] {14069#true} is VALID [2022-04-07 18:09:39,757 INFO L290 TraceCheckUtils]: 77: Hoare triple {14069#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,757 INFO L290 TraceCheckUtils]: 78: Hoare triple {14069#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:39,758 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14069#true} {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [196] __VERIFIER_assertEXIT-->L62-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-07 18:09:39,759 INFO L290 TraceCheckUtils]: 80: Hoare triple {14124#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} [179] L62-1-->L63: Formula: (let ((.cse0 (select |v_#memory_int_6| v_main_~a~0.base_1))) (and (= |v_main_#t~mem23_1| (select (select |v_#memory_int_6| |v_main_~#i~2.base_2|) |v_main_~#i~2.offset_2|)) (= |v_main_#t~mem24_1| (select (select |v_#memory_int_6| |v_main_~#j~2.base_2|) |v_main_~#j~2.offset_2|)) (= (select .cse0 (+ (* |v_main_#t~mem24_1| 4) v_main_~a~0.offset_1)) |v_main_#t~mem26_1|) (= |v_main_#t~mem25_1| (select .cse0 (+ (* |v_main_#t~mem23_1| 4) v_main_~a~0.offset_1))))) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_2|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_~a~0.base=v_main_~a~0.base_1, #memory_int=|v_#memory_int_6|, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} OutVars{main_#t~mem24=|v_main_#t~mem24_1|, main_#t~mem23=|v_main_#t~mem23_1|, main_#t~mem26=|v_main_#t~mem26_1|, main_#t~mem25=|v_main_#t~mem25_1|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_#t~mem22=|v_main_#t~mem22_3|, main_#t~mem21=|v_main_#t~mem21_3|, main_~a~0.base=v_main_~a~0.base_1, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#j~2.offset=|v_main_~#j~2.offset_2|, #memory_int=|v_#memory_int_6|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} AuxVars[] AssignedVars[main_#t~mem24, main_#t~mem23, main_#t~mem26, main_#t~mem25, main_#t~mem22, main_#t~mem21] {14137#(= |main_#t~mem26| |main_#t~mem25|)} is VALID [2022-04-07 18:09:39,760 INFO L272 TraceCheckUtils]: 81: Hoare triple {14137#(= |main_#t~mem26| |main_#t~mem25|)} [183] L63-->__VERIFIER_assertENTRY: Formula: (= (ite (= |v_main_#t~mem26_4| |v_main_#t~mem25_4|) 1 0) |v___VERIFIER_assert_#in~condInParam_5|) InVars {main_#t~mem26=|v_main_#t~mem26_4|, main_#t~mem25=|v_main_#t~mem25_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_5|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem26, main_#t~mem25] {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 18:09:39,760 INFO L290 TraceCheckUtils]: 82: Hoare triple {14138#(not (= |__VERIFIER_assert_#in~cond| 0))} [157] __VERIFIER_assertENTRY-->L10: 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] {14139#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 18:09:39,760 INFO L290 TraceCheckUtils]: 83: Hoare triple {14139#(not (= __VERIFIER_assert_~cond 0))} [164] L10-->L10-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[] {14070#false} is VALID [2022-04-07 18:09:39,761 INFO L290 TraceCheckUtils]: 84: Hoare triple {14070#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14070#false} is VALID [2022-04-07 18:09:39,761 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-07 18:09:39,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:09:39,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1930189827] [2022-04-07 18:09:39,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1930189827] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:09:39,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [544962682] [2022-04-07 18:09:39,762 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:09:39,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:09:39,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:09:39,763 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:09:39,764 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-07 18:09:39,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 327 conjuncts, 86 conjunts are in the unsatisfiable core [2022-04-07 18:09:39,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:39,913 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:09:39,941 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-07 18:09:40,926 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 6 treesize of output 5 [2022-04-07 18:09:41,099 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:09:41,104 INFO L356 Elim1Store]: treesize reduction 13, result has 23.5 percent of original size [2022-04-07 18:09:41,104 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 20 treesize of output 18 [2022-04-07 18:09:41,673 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:09:41,681 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:09:41,682 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 39 [2022-04-07 18:09:41,691 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:09:41,693 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 36 [2022-04-07 18:09:41,700 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 8 treesize of output 7 [2022-04-07 18:09:41,706 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 8 treesize of output 7 [2022-04-07 18:09:49,846 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-07 18:09:49,864 INFO L356 Elim1Store]: treesize reduction 38, result has 22.4 percent of original size [2022-04-07 18:09:49,864 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 3 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 6 case distinctions, treesize of input 52 treesize of output 36 [2022-04-07 18:09:49,961 INFO L272 TraceCheckUtils]: 0: Hoare triple {14069#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:49,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {14069#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {14069#true} is VALID [2022-04-07 18:09:49,961 INFO L290 TraceCheckUtils]: 2: Hoare triple {14069#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:49,961 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14069#true} {14069#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:49,961 INFO L272 TraceCheckUtils]: 4: Hoare triple {14069#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:49,961 INFO L290 TraceCheckUtils]: 5: Hoare triple {14069#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {14069#true} is VALID [2022-04-07 18:09:49,962 INFO L272 TraceCheckUtils]: 6: Hoare triple {14069#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {14069#true} is VALID [2022-04-07 18:09:49,962 INFO L290 TraceCheckUtils]: 7: Hoare triple {14069#true} [133] assume_abort_if_notENTRY-->L16: 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] {14069#true} is VALID [2022-04-07 18:09:49,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {14069#true} [136] L16-->L16-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[] {14069#true} is VALID [2022-04-07 18:09:49,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {14069#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14069#true} is VALID [2022-04-07 18:09:49,962 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14069#true} {14069#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {14069#true} is VALID [2022-04-07 18:09:49,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {14069#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:09:49,964 INFO L272 TraceCheckUtils]: 12: Hoare triple {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [138] #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] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,965 INFO L290 TraceCheckUtils]: 14: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,965 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-07 18:09:49,966 INFO L290 TraceCheckUtils]: 16: Hoare triple {14078#(and (= |main_#t~malloc13.offset| 0) (= (select |#valid| |main_#t~malloc13.base|) 1) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} is VALID [2022-04-07 18:09:49,967 INFO L272 TraceCheckUtils]: 17: Hoare triple {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,968 INFO L290 TraceCheckUtils]: 18: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:09:49,968 INFO L272 TraceCheckUtils]: 19: Hoare triple {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [133] assume_abort_if_notENTRY-->L16: 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] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,969 INFO L290 TraceCheckUtils]: 21: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [136] L16-->L16-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[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,970 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:09:49,971 INFO L272 TraceCheckUtils]: 24: Hoare triple {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [133] assume_abort_if_notENTRY-->L16: 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] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [136] L16-->L16-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[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,973 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:09:49,974 INFO L272 TraceCheckUtils]: 29: Hoare triple {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,974 INFO L290 TraceCheckUtils]: 30: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [133] assume_abort_if_notENTRY-->L16: 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] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [136] L16-->L16-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[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,976 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:09:49,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {14216#(and (exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1))) (= mkdup_~a.base |mkdup_#in~a.base|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} is VALID [2022-04-07 18:09:49,978 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14197#(exists ((|v_main_#t~malloc13.base_BEFORE_CALL_2| Int)) (and (<= (+ |v_main_#t~malloc13.base_BEFORE_CALL_2| 1) |#StackHeapBarrier|) (= (select |#valid| |v_main_#t~malloc13.base_BEFORE_CALL_2|) 1)))} {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} is VALID [2022-04-07 18:09:49,979 INFO L290 TraceCheckUtils]: 37: Hoare triple {14082#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0) (= (select |#valid| main_~a~0.base) 1))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {14274#(and (= main_~a~0.offset 0) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-07 18:09:49,980 INFO L272 TraceCheckUtils]: 38: Hoare triple {14274#(and (= main_~a~0.offset 0) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {14141#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:49,980 INFO L290 TraceCheckUtils]: 39: Hoare triple {14141#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,980 INFO L290 TraceCheckUtils]: 40: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,981 INFO L290 TraceCheckUtils]: 41: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,982 INFO L290 TraceCheckUtils]: 43: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,982 INFO L290 TraceCheckUtils]: 44: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,983 INFO L290 TraceCheckUtils]: 45: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,983 INFO L290 TraceCheckUtils]: 46: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,984 INFO L290 TraceCheckUtils]: 47: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,984 INFO L290 TraceCheckUtils]: 48: Hoare triple {14281#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {14309#(and (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,984 INFO L290 TraceCheckUtils]: 49: Hoare triple {14309#(and (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {14313#(and (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,985 INFO L290 TraceCheckUtils]: 50: Hoare triple {14313#(and (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {14317#(and (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= |finddup_#in~_i.base| finddup_~_i.base) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-07 18:09:49,986 INFO L290 TraceCheckUtils]: 51: Hoare triple {14317#(and (= finddup_~i~1 1) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= |finddup_#in~_i.base| finddup_~_i.base) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {14321#(and (exists ((v_ArrVal_694 (Array Int Int))) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 1)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| v_ArrVal_694) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 2)))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4))))} is VALID [2022-04-07 18:09:49,987 INFO L290 TraceCheckUtils]: 52: Hoare triple {14321#(and (exists ((v_ArrVal_694 (Array Int Int))) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 1)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| v_ArrVal_694) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 2)))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14321#(and (exists ((v_ArrVal_694 (Array Int Int))) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 1)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| v_ArrVal_694) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 2)))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4))))} is VALID [2022-04-07 18:09:49,988 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {14321#(and (exists ((v_ArrVal_694 (Array Int Int))) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 1)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| v_ArrVal_694) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 2)))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4))))} {14274#(and (= main_~a~0.offset 0) (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:49,989 INFO L290 TraceCheckUtils]: 54: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:49,990 INFO L272 TraceCheckUtils]: 55: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,991 INFO L290 TraceCheckUtils]: 56: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [157] __VERIFIER_assertENTRY-->L10: 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] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,992 INFO L290 TraceCheckUtils]: 57: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,993 INFO L290 TraceCheckUtils]: 58: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,994 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:49,995 INFO L290 TraceCheckUtils]: 60: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:49,995 INFO L290 TraceCheckUtils]: 61: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:49,997 INFO L272 TraceCheckUtils]: 62: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,998 INFO L290 TraceCheckUtils]: 63: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [157] __VERIFIER_assertENTRY-->L10: 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] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,999 INFO L290 TraceCheckUtils]: 64: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:49,999 INFO L290 TraceCheckUtils]: 65: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,000 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:50,001 INFO L290 TraceCheckUtils]: 67: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:50,001 INFO L290 TraceCheckUtils]: 68: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:50,003 INFO L272 TraceCheckUtils]: 69: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,004 INFO L290 TraceCheckUtils]: 70: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [157] __VERIFIER_assertENTRY-->L10: 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] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,005 INFO L290 TraceCheckUtils]: 71: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,006 INFO L290 TraceCheckUtils]: 72: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,006 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:50,007 INFO L290 TraceCheckUtils]: 74: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:50,008 INFO L272 TraceCheckUtils]: 75: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,009 INFO L290 TraceCheckUtils]: 76: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [157] __VERIFIER_assertENTRY-->L10: 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] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,010 INFO L290 TraceCheckUtils]: 77: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,011 INFO L290 TraceCheckUtils]: 78: Hoare triple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} is VALID [2022-04-07 18:09:50,012 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14335#(exists ((|v_main_~#i~2.base_BEFORE_CALL_33| Int) (|v_main_~#j~2.base_BEFORE_CALL_32| Int) (v_main_~a~0.base_BEFORE_CALL_24 Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_24 1) |v_main_~#j~2.base_BEFORE_CALL_32|) (= 2 (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_32|) 0)) (not (= v_main_~a~0.base_BEFORE_CALL_24 |v_main_~#i~2.base_BEFORE_CALL_33|)) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_33|) 0) 1) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 8) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_24) 4))))} {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [196] __VERIFIER_assertEXIT-->L62-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} is VALID [2022-04-07 18:09:50,012 INFO L290 TraceCheckUtils]: 80: Hoare triple {14328#(and (= main_~a~0.offset 0) (= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| main_~a~0.base)) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 8))))} [179] L62-1-->L63: Formula: (let ((.cse0 (select |v_#memory_int_6| v_main_~a~0.base_1))) (and (= |v_main_#t~mem23_1| (select (select |v_#memory_int_6| |v_main_~#i~2.base_2|) |v_main_~#i~2.offset_2|)) (= |v_main_#t~mem24_1| (select (select |v_#memory_int_6| |v_main_~#j~2.base_2|) |v_main_~#j~2.offset_2|)) (= (select .cse0 (+ (* |v_main_#t~mem24_1| 4) v_main_~a~0.offset_1)) |v_main_#t~mem26_1|) (= |v_main_#t~mem25_1| (select .cse0 (+ (* |v_main_#t~mem23_1| 4) v_main_~a~0.offset_1))))) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_2|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_~a~0.base=v_main_~a~0.base_1, #memory_int=|v_#memory_int_6|, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} OutVars{main_#t~mem24=|v_main_#t~mem24_1|, main_#t~mem23=|v_main_#t~mem23_1|, main_#t~mem26=|v_main_#t~mem26_1|, main_#t~mem25=|v_main_#t~mem25_1|, main_~#i~2.offset=|v_main_~#i~2.offset_2|, main_#t~mem22=|v_main_#t~mem22_3|, main_#t~mem21=|v_main_#t~mem21_3|, main_~a~0.base=v_main_~a~0.base_1, main_~#j~2.base=|v_main_~#j~2.base_2|, main_~#j~2.offset=|v_main_~#j~2.offset_2|, #memory_int=|v_#memory_int_6|, main_~#i~2.base=|v_main_~#i~2.base_2|, main_~a~0.offset=v_main_~a~0.offset_1} AuxVars[] AssignedVars[main_#t~mem24, main_#t~mem23, main_#t~mem26, main_#t~mem25, main_#t~mem22, main_#t~mem21] {14137#(= |main_#t~mem26| |main_#t~mem25|)} is VALID [2022-04-07 18:09:50,013 INFO L272 TraceCheckUtils]: 81: Hoare triple {14137#(= |main_#t~mem26| |main_#t~mem25|)} [183] L63-->__VERIFIER_assertENTRY: Formula: (= (ite (= |v_main_#t~mem26_4| |v_main_#t~mem25_4|) 1 0) |v___VERIFIER_assert_#in~condInParam_5|) InVars {main_#t~mem26=|v_main_#t~mem26_4|, main_#t~mem25=|v_main_#t~mem25_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_5|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem26, main_#t~mem25] {14414#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 18:09:50,013 INFO L290 TraceCheckUtils]: 82: Hoare triple {14414#(<= 1 |__VERIFIER_assert_#in~cond|)} [157] __VERIFIER_assertENTRY-->L10: 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] {14418#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 18:09:50,014 INFO L290 TraceCheckUtils]: 83: Hoare triple {14418#(<= 1 __VERIFIER_assert_~cond)} [164] L10-->L10-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[] {14070#false} is VALID [2022-04-07 18:09:50,014 INFO L290 TraceCheckUtils]: 84: Hoare triple {14070#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14070#false} is VALID [2022-04-07 18:09:50,014 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 12 proven. 14 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-07 18:09:50,014 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:09:50,380 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [544962682] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:09:50,380 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:09:50,381 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 18] total 29 [2022-04-07 18:09:50,381 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [795928883] [2022-04-07 18:09:50,381 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 18:09:50,381 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) Word has length 85 [2022-04-07 18:09:50,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:09:50,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) [2022-04-07 18:09:50,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:09:50,495 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-07 18:09:50,496 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:09:50,496 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-07 18:09:50,496 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=842, Unknown=0, NotChecked=0, Total=930 [2022-04-07 18:09:50,496 INFO L87 Difference]: Start difference. First operand 128 states and 149 transitions. Second operand has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) [2022-04-07 18:09:53,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:53,128 INFO L93 Difference]: Finished difference Result 180 states and 205 transitions. [2022-04-07 18:09:53,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-07 18:09:53,128 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) Word has length 85 [2022-04-07 18:09:53,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:09:53,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) [2022-04-07 18:09:53,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 127 transitions. [2022-04-07 18:09:53,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) [2022-04-07 18:09:53,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 127 transitions. [2022-04-07 18:09:53,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 127 transitions. [2022-04-07 18:09:53,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:09:53,300 INFO L225 Difference]: With dead ends: 180 [2022-04-07 18:09:53,301 INFO L226 Difference]: Without dead ends: 121 [2022-04-07 18:09:53,301 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 114 SyntacticMatches, 12 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 844 ImplicationChecksByTransitivity, 3.5s TimeCoverageRelationStatistics Valid=317, Invalid=3223, Unknown=0, NotChecked=0, Total=3540 [2022-04-07 18:09:53,302 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 145 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 783 mSolverCounterSat, 99 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 145 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 1202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 99 IncrementalHoareTripleChecker+Valid, 783 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 320 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-07 18:09:53,302 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [145 Valid, 195 Invalid, 1202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [99 Valid, 783 Invalid, 0 Unknown, 320 Unchecked, 0.9s Time] [2022-04-07 18:09:53,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-07 18:09:53,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 114. [2022-04-07 18:09:53,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:09:53,305 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 114 states, 84 states have (on average 1.0952380952380953) internal successors, (92), 86 states have internal predecessors, (92), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:53,305 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 114 states, 84 states have (on average 1.0952380952380953) internal successors, (92), 86 states have internal predecessors, (92), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:53,305 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 114 states, 84 states have (on average 1.0952380952380953) internal successors, (92), 86 states have internal predecessors, (92), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:53,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:53,307 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2022-04-07 18:09:53,307 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 135 transitions. [2022-04-07 18:09:53,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:09:53,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:09:53,308 INFO L74 IsIncluded]: Start isIncluded. First operand has 114 states, 84 states have (on average 1.0952380952380953) internal successors, (92), 86 states have internal predecessors, (92), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) Second operand 121 states. [2022-04-07 18:09:53,308 INFO L87 Difference]: Start difference. First operand has 114 states, 84 states have (on average 1.0952380952380953) internal successors, (92), 86 states have internal predecessors, (92), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) Second operand 121 states. [2022-04-07 18:09:53,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:53,310 INFO L93 Difference]: Finished difference Result 121 states and 135 transitions. [2022-04-07 18:09:53,310 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 135 transitions. [2022-04-07 18:09:53,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:09:53,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:09:53,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:09:53,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:09:53,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 114 states, 84 states have (on average 1.0952380952380953) internal successors, (92), 86 states have internal predecessors, (92), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:53,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 126 transitions. [2022-04-07 18:09:53,313 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 126 transitions. Word has length 85 [2022-04-07 18:09:53,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:09:53,313 INFO L478 AbstractCegarLoop]: Abstraction has 114 states and 126 transitions. [2022-04-07 18:09:53,313 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 25 states have (on average 2.92) internal successors, (73), 25 states have internal predecessors, (73), 10 states have call successors, (26), 7 states have call predecessors, (26), 6 states have return successors, (22), 7 states have call predecessors, (22), 9 states have call successors, (22) [2022-04-07 18:09:53,314 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 126 transitions. [2022-04-07 18:09:53,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-07 18:09:53,314 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:09:53,314 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 18:09:53,339 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-07 18:09:53,527 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:09:53,527 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:09:53,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:09:53,528 INFO L85 PathProgramCache]: Analyzing trace with hash 74091419, now seen corresponding path program 1 times [2022-04-07 18:09:53,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:09:53,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1827087050] [2022-04-07 18:09:53,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:09:53,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:09:53,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,572 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:09:53,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,575 INFO L290 TraceCheckUtils]: 0: Hoare triple {15184#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {15117#true} is VALID [2022-04-07 18:09:53,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,575 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15117#true} {15117#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:09:53,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:53,581 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:09:53,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,584 INFO L290 TraceCheckUtils]: 0: Hoare triple {15185#(= |#memory_int| |old(#memory_int)|)} [138] #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] {15117#true} is VALID [2022-04-07 18:09:53,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,584 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15117#true} {15117#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15117#true} is VALID [2022-04-07 18:09:53,585 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:09:53,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,591 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:09:53,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,594 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:09:53,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,597 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:53,597 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:09:53,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 0: Hoare triple {15185#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L272 TraceCheckUtils]: 1: Hoare triple {15117#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 3: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,600 INFO L290 TraceCheckUtils]: 4: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15117#true} {15117#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {15117#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15117#true} {15117#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L272 TraceCheckUtils]: 11: Hoare triple {15117#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,601 INFO L290 TraceCheckUtils]: 14: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,602 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15117#true} {15117#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {15117#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {15117#true} is VALID [2022-04-07 18:09:53,602 INFO L290 TraceCheckUtils]: 17: Hoare triple {15117#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,602 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15117#true} {15117#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:53,602 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:09:53,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,699 INFO L290 TraceCheckUtils]: 0: Hoare triple {15185#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {15117#true} is VALID [2022-04-07 18:09:53,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:53,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:53,701 INFO L290 TraceCheckUtils]: 3: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:53,701 INFO L290 TraceCheckUtils]: 4: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:53,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:53,702 INFO L290 TraceCheckUtils]: 6: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:53,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,704 INFO L290 TraceCheckUtils]: 10: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:53,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {15202#(<= finddup_~n (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:53,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {15202#(<= finddup_~n (+ finddup_~i~1 4))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {15203#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,706 INFO L290 TraceCheckUtils]: 13: Hoare triple {15203#(<= finddup_~n (+ finddup_~i~1 3))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:53,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:53,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:53,707 INFO L290 TraceCheckUtils]: 16: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:53,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:53,708 INFO L290 TraceCheckUtils]: 18: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:53,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15206#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:09:53,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {15206#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15118#false} is VALID [2022-04-07 18:09:53,709 INFO L290 TraceCheckUtils]: 21: Hoare triple {15118#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {15118#false} is VALID [2022-04-07 18:09:53,709 INFO L290 TraceCheckUtils]: 22: Hoare triple {15118#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:53,709 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15118#false} {15117#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15118#false} is VALID [2022-04-07 18:09:53,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 64 [2022-04-07 18:09:53,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:53,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,712 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15118#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:53,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 71 [2022-04-07 18:09:53,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,714 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:53,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15118#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:53,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 78 [2022-04-07 18:09:53,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,717 INFO L290 TraceCheckUtils]: 0: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:53,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15118#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15118#false} is VALID [2022-04-07 18:09:53,718 INFO L272 TraceCheckUtils]: 0: Hoare triple {15117#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15184#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:09:53,718 INFO L290 TraceCheckUtils]: 1: Hoare triple {15184#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {15117#true} is VALID [2022-04-07 18:09:53,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {15117#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {15117#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L272 TraceCheckUtils]: 6: Hoare triple {15117#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15117#true} {15117#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:53,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {15117#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {15117#true} is VALID [2022-04-07 18:09:53,720 INFO L272 TraceCheckUtils]: 12: Hoare triple {15117#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15185#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:53,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {15185#(= |#memory_int| |old(#memory_int)|)} [138] #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] {15117#true} is VALID [2022-04-07 18:09:53,720 INFO L290 TraceCheckUtils]: 14: Hoare triple {15117#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,720 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15117#true} {15117#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15117#true} is VALID [2022-04-07 18:09:53,720 INFO L290 TraceCheckUtils]: 16: Hoare triple {15117#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:53,721 INFO L272 TraceCheckUtils]: 17: Hoare triple {15117#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15185#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:53,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {15185#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L272 TraceCheckUtils]: 19: Hoare triple {15117#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 20: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 21: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 22: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15117#true} {15117#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L272 TraceCheckUtils]: 24: Hoare triple {15117#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 25: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15117#true} {15117#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L272 TraceCheckUtils]: 29: Hoare triple {15117#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L290 TraceCheckUtils]: 32: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15117#true} {15117#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {15117#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {15117#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15117#true} {15117#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:53,723 INFO L290 TraceCheckUtils]: 37: Hoare triple {15117#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {15117#true} is VALID [2022-04-07 18:09:53,725 INFO L272 TraceCheckUtils]: 38: Hoare triple {15117#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15185#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:09:53,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {15185#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {15117#true} is VALID [2022-04-07 18:09:53,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {15117#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:53,726 INFO L290 TraceCheckUtils]: 41: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:53,726 INFO L290 TraceCheckUtils]: 42: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:53,727 INFO L290 TraceCheckUtils]: 43: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:53,727 INFO L290 TraceCheckUtils]: 44: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:53,728 INFO L290 TraceCheckUtils]: 45: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:53,728 INFO L290 TraceCheckUtils]: 46: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,729 INFO L290 TraceCheckUtils]: 47: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,729 INFO L290 TraceCheckUtils]: 48: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,730 INFO L290 TraceCheckUtils]: 49: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:53,731 INFO L290 TraceCheckUtils]: 50: Hoare triple {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {15202#(<= finddup_~n (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:53,731 INFO L290 TraceCheckUtils]: 51: Hoare triple {15202#(<= finddup_~n (+ finddup_~i~1 4))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {15203#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:53,732 INFO L290 TraceCheckUtils]: 52: Hoare triple {15203#(<= finddup_~n (+ finddup_~i~1 3))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:53,732 INFO L290 TraceCheckUtils]: 53: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:53,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:53,733 INFO L290 TraceCheckUtils]: 55: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:53,734 INFO L290 TraceCheckUtils]: 56: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:53,734 INFO L290 TraceCheckUtils]: 57: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:53,735 INFO L290 TraceCheckUtils]: 58: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15206#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:09:53,735 INFO L290 TraceCheckUtils]: 59: Hoare triple {15206#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15118#false} is VALID [2022-04-07 18:09:53,735 INFO L290 TraceCheckUtils]: 60: Hoare triple {15118#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {15118#false} is VALID [2022-04-07 18:09:53,735 INFO L290 TraceCheckUtils]: 61: Hoare triple {15118#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:53,736 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15118#false} {15117#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15118#false} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 63: Hoare triple {15118#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:53,736 INFO L272 TraceCheckUtils]: 64: Hoare triple {15118#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15117#true} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 65: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 66: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,736 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15117#true} {15118#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 69: Hoare triple {15118#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 70: Hoare triple {15118#false} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {15118#false} is VALID [2022-04-07 18:09:53,736 INFO L272 TraceCheckUtils]: 71: Hoare triple {15118#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15117#true} is VALID [2022-04-07 18:09:53,736 INFO L290 TraceCheckUtils]: 72: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {15117#true} {15118#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 76: Hoare triple {15118#false} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {15118#false} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 77: Hoare triple {15118#false} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {15118#false} is VALID [2022-04-07 18:09:53,737 INFO L272 TraceCheckUtils]: 78: Hoare triple {15118#false} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 79: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 80: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L290 TraceCheckUtils]: 81: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:53,737 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {15117#true} {15118#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15118#false} is VALID [2022-04-07 18:09:53,738 INFO L290 TraceCheckUtils]: 83: Hoare triple {15118#false} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {15118#false} is VALID [2022-04-07 18:09:53,738 INFO L272 TraceCheckUtils]: 84: Hoare triple {15118#false} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {15118#false} is VALID [2022-04-07 18:09:53,738 INFO L290 TraceCheckUtils]: 85: Hoare triple {15118#false} [157] __VERIFIER_assertENTRY-->L10: 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] {15118#false} is VALID [2022-04-07 18:09:53,738 INFO L290 TraceCheckUtils]: 86: Hoare triple {15118#false} [164] L10-->L10-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[] {15118#false} is VALID [2022-04-07 18:09:53,738 INFO L290 TraceCheckUtils]: 87: Hoare triple {15118#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:53,738 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 17 proven. 36 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-07 18:09:53,738 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:09:53,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1827087050] [2022-04-07 18:09:53,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1827087050] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:09:53,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1978431700] [2022-04-07 18:09:53,739 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:09:53,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:09:53,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:09:53,744 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:09:53,774 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-07 18:09:53,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 334 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 18:09:53,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:53,889 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:09:54,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {15117#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {15117#true} is VALID [2022-04-07 18:09:54,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {15117#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {15117#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L272 TraceCheckUtils]: 6: Hoare triple {15117#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L290 TraceCheckUtils]: 8: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15117#true} {15117#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {15117#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L272 TraceCheckUtils]: 12: Hoare triple {15117#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {15117#true} [138] #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] {15117#true} is VALID [2022-04-07 18:09:54,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {15117#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15117#true} {15117#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L290 TraceCheckUtils]: 16: Hoare triple {15117#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L272 TraceCheckUtils]: 17: Hoare triple {15117#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {15117#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L272 TraceCheckUtils]: 19: Hoare triple {15117#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L290 TraceCheckUtils]: 21: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L290 TraceCheckUtils]: 22: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15117#true} {15117#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L272 TraceCheckUtils]: 24: Hoare triple {15117#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:54,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 26: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15117#true} {15117#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L272 TraceCheckUtils]: 29: Hoare triple {15117#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 32: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15117#true} {15117#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {15117#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {15117#true} is VALID [2022-04-07 18:09:54,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {15117#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,178 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15117#true} {15117#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:54,178 INFO L290 TraceCheckUtils]: 37: Hoare triple {15117#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {15117#true} is VALID [2022-04-07 18:09:54,178 INFO L272 TraceCheckUtils]: 38: Hoare triple {15117#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15117#true} is VALID [2022-04-07 18:09:54,178 INFO L290 TraceCheckUtils]: 39: Hoare triple {15117#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {15117#true} is VALID [2022-04-07 18:09:54,179 INFO L290 TraceCheckUtils]: 40: Hoare triple {15117#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:54,179 INFO L290 TraceCheckUtils]: 41: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:54,179 INFO L290 TraceCheckUtils]: 42: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:54,180 INFO L290 TraceCheckUtils]: 43: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:54,180 INFO L290 TraceCheckUtils]: 44: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:54,181 INFO L290 TraceCheckUtils]: 45: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:54,181 INFO L290 TraceCheckUtils]: 46: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,182 INFO L290 TraceCheckUtils]: 47: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,182 INFO L290 TraceCheckUtils]: 48: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:54,183 INFO L290 TraceCheckUtils]: 50: Hoare triple {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {15202#(<= finddup_~n (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:54,184 INFO L290 TraceCheckUtils]: 51: Hoare triple {15202#(<= finddup_~n (+ finddup_~i~1 4))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {15203#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,184 INFO L290 TraceCheckUtils]: 52: Hoare triple {15203#(<= finddup_~n (+ finddup_~i~1 3))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:54,185 INFO L290 TraceCheckUtils]: 53: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:54,185 INFO L290 TraceCheckUtils]: 54: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:54,186 INFO L290 TraceCheckUtils]: 55: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:54,186 INFO L290 TraceCheckUtils]: 56: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:54,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:54,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15206#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 59: Hoare triple {15206#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 60: Hoare triple {15118#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 61: Hoare triple {15118#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15118#false} {15117#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 63: Hoare triple {15118#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L272 TraceCheckUtils]: 64: Hoare triple {15118#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 65: Hoare triple {15118#false} [157] __VERIFIER_assertENTRY-->L10: 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] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 66: Hoare triple {15118#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,188 INFO L290 TraceCheckUtils]: 67: Hoare triple {15118#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15118#false} {15118#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 69: Hoare triple {15118#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 70: Hoare triple {15118#false} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L272 TraceCheckUtils]: 71: Hoare triple {15118#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 72: Hoare triple {15118#false} [157] __VERIFIER_assertENTRY-->L10: 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] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 73: Hoare triple {15118#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 74: Hoare triple {15118#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {15118#false} {15118#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 76: Hoare triple {15118#false} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {15118#false} is VALID [2022-04-07 18:09:54,189 INFO L290 TraceCheckUtils]: 77: Hoare triple {15118#false} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L272 TraceCheckUtils]: 78: Hoare triple {15118#false} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 79: Hoare triple {15118#false} [157] __VERIFIER_assertENTRY-->L10: 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] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 80: Hoare triple {15118#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 81: Hoare triple {15118#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {15118#false} {15118#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 83: Hoare triple {15118#false} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L272 TraceCheckUtils]: 84: Hoare triple {15118#false} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 85: Hoare triple {15118#false} [157] __VERIFIER_assertENTRY-->L10: 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] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 86: Hoare triple {15118#false} [164] L10-->L10-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[] {15118#false} is VALID [2022-04-07 18:09:54,190 INFO L290 TraceCheckUtils]: 87: Hoare triple {15118#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,191 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 11 proven. 36 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2022-04-07 18:09:54,191 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:09:54,553 INFO L290 TraceCheckUtils]: 87: Hoare triple {15118#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,554 INFO L290 TraceCheckUtils]: 86: Hoare triple {15118#false} [164] L10-->L10-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[] {15118#false} is VALID [2022-04-07 18:09:54,554 INFO L290 TraceCheckUtils]: 85: Hoare triple {15118#false} [157] __VERIFIER_assertENTRY-->L10: 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] {15118#false} is VALID [2022-04-07 18:09:54,554 INFO L272 TraceCheckUtils]: 84: Hoare triple {15118#false} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {15118#false} is VALID [2022-04-07 18:09:54,554 INFO L290 TraceCheckUtils]: 83: Hoare triple {15118#false} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {15118#false} is VALID [2022-04-07 18:09:54,554 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {15117#true} {15118#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15118#false} is VALID [2022-04-07 18:09:54,554 INFO L290 TraceCheckUtils]: 81: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,554 INFO L290 TraceCheckUtils]: 80: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,554 INFO L290 TraceCheckUtils]: 79: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:54,554 INFO L272 TraceCheckUtils]: 78: Hoare triple {15118#false} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {15117#true} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 77: Hoare triple {15118#false} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {15118#false} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 76: Hoare triple {15118#false} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {15118#false} is VALID [2022-04-07 18:09:54,555 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {15117#true} {15118#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 72: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:54,555 INFO L272 TraceCheckUtils]: 71: Hoare triple {15118#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {15117#true} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 70: Hoare triple {15118#false} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {15118#false} is VALID [2022-04-07 18:09:54,555 INFO L290 TraceCheckUtils]: 69: Hoare triple {15118#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {15118#false} is VALID [2022-04-07 18:09:54,556 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15117#true} {15118#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:54,556 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,556 INFO L290 TraceCheckUtils]: 66: Hoare triple {15117#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,556 INFO L290 TraceCheckUtils]: 65: Hoare triple {15117#true} [157] __VERIFIER_assertENTRY-->L10: 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] {15117#true} is VALID [2022-04-07 18:09:54,556 INFO L272 TraceCheckUtils]: 64: Hoare triple {15118#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {15117#true} is VALID [2022-04-07 18:09:54,556 INFO L290 TraceCheckUtils]: 63: Hoare triple {15118#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {15118#false} is VALID [2022-04-07 18:09:54,556 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15118#false} {15117#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15118#false} is VALID [2022-04-07 18:09:54,556 INFO L290 TraceCheckUtils]: 61: Hoare triple {15118#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15118#false} is VALID [2022-04-07 18:09:54,556 INFO L290 TraceCheckUtils]: 60: Hoare triple {15118#false} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {15118#false} is VALID [2022-04-07 18:09:54,557 INFO L290 TraceCheckUtils]: 59: Hoare triple {15206#(<= finddup_~n finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15118#false} is VALID [2022-04-07 18:09:54,558 INFO L290 TraceCheckUtils]: 58: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15206#(<= finddup_~n finddup_~j~1)} is VALID [2022-04-07 18:09:54,558 INFO L290 TraceCheckUtils]: 57: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:54,558 INFO L290 TraceCheckUtils]: 56: Hoare triple {15205#(<= finddup_~n (+ finddup_~j~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:54,559 INFO L290 TraceCheckUtils]: 55: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15205#(<= finddup_~n (+ finddup_~j~1 1))} is VALID [2022-04-07 18:09:54,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:54,560 INFO L290 TraceCheckUtils]: 53: Hoare triple {15204#(<= finddup_~n (+ finddup_~j~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:54,561 INFO L290 TraceCheckUtils]: 52: Hoare triple {15203#(<= finddup_~n (+ finddup_~i~1 3))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15204#(<= finddup_~n (+ finddup_~j~1 2))} is VALID [2022-04-07 18:09:54,561 INFO L290 TraceCheckUtils]: 51: Hoare triple {15202#(<= finddup_~n (+ finddup_~i~1 4))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {15203#(<= finddup_~n (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,562 INFO L290 TraceCheckUtils]: 50: Hoare triple {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {15202#(<= finddup_~n (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:54,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15201#(<= finddup_~j~1 (+ finddup_~i~1 4))} is VALID [2022-04-07 18:09:54,563 INFO L290 TraceCheckUtils]: 48: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,563 INFO L290 TraceCheckUtils]: 47: Hoare triple {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,564 INFO L290 TraceCheckUtils]: 46: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15200#(<= finddup_~j~1 (+ finddup_~i~1 3))} is VALID [2022-04-07 18:09:54,564 INFO L290 TraceCheckUtils]: 45: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:54,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:54,566 INFO L290 TraceCheckUtils]: 43: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {15199#(<= finddup_~j~1 (+ finddup_~i~1 2))} is VALID [2022-04-07 18:09:54,566 INFO L290 TraceCheckUtils]: 42: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:54,566 INFO L290 TraceCheckUtils]: 41: Hoare triple {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:54,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {15117#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {15198#(<= finddup_~j~1 (+ finddup_~i~1 1))} is VALID [2022-04-07 18:09:54,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {15117#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {15117#true} is VALID [2022-04-07 18:09:54,567 INFO L272 TraceCheckUtils]: 38: Hoare triple {15117#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {15117#true} is VALID [2022-04-07 18:09:54,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {15117#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {15117#true} is VALID [2022-04-07 18:09:54,567 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15117#true} {15117#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:54,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {15117#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 34: Hoare triple {15117#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15117#true} {15117#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 32: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 31: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L272 TraceCheckUtils]: 29: Hoare triple {15117#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15117#true} {15117#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,568 INFO L290 TraceCheckUtils]: 25: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L272 TraceCheckUtils]: 24: Hoare triple {15117#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15117#true} {15117#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L290 TraceCheckUtils]: 22: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L272 TraceCheckUtils]: 19: Hoare triple {15117#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {15117#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L272 TraceCheckUtils]: 17: Hoare triple {15117#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L290 TraceCheckUtils]: 16: Hoare triple {15117#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15117#true} {15117#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15117#true} is VALID [2022-04-07 18:09:54,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {15117#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {15117#true} [138] #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] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L272 TraceCheckUtils]: 12: Hoare triple {15117#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {15117#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15117#true} {15117#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {15117#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {15117#true} [136] L16-->L16-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[] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {15117#true} [133] assume_abort_if_notENTRY-->L16: 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] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L272 TraceCheckUtils]: 6: Hoare triple {15117#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L290 TraceCheckUtils]: 5: Hoare triple {15117#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {15117#true} is VALID [2022-04-07 18:09:54,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {15117#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15117#true} {15117#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {15117#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {15117#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {15117#true} is VALID [2022-04-07 18:09:54,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {15117#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15117#true} is VALID [2022-04-07 18:09:54,571 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 17 proven. 36 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-07 18:09:54,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1978431700] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 18:09:54,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 18:09:54,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 11] total 13 [2022-04-07 18:09:54,572 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1068913613] [2022-04-07 18:09:54,572 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 18:09:54,572 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) Word has length 88 [2022-04-07 18:09:54,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:09:54,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-07 18:09:54,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:09:54,646 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-07 18:09:54,647 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:09:54,647 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-07 18:09:54,648 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-07 18:09:54,648 INFO L87 Difference]: Start difference. First operand 114 states and 126 transitions. Second operand has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-07 18:09:55,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:55,846 INFO L93 Difference]: Finished difference Result 143 states and 159 transitions. [2022-04-07 18:09:55,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-07 18:09:55,847 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) Word has length 88 [2022-04-07 18:09:55,847 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:09:55,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-07 18:09:55,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 102 transitions. [2022-04-07 18:09:55,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-07 18:09:55,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 102 transitions. [2022-04-07 18:09:55,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 102 transitions. [2022-04-07 18:09:55,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:09:55,944 INFO L225 Difference]: With dead ends: 143 [2022-04-07 18:09:55,944 INFO L226 Difference]: Without dead ends: 134 [2022-04-07 18:09:55,945 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 224 GetRequests, 198 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=212, Invalid=490, Unknown=0, NotChecked=0, Total=702 [2022-04-07 18:09:55,945 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 110 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 508 mSolverCounterSat, 71 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 579 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 71 IncrementalHoareTripleChecker+Valid, 508 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-07 18:09:55,945 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 62 Invalid, 579 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [71 Valid, 508 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-07 18:09:55,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2022-04-07 18:09:55,948 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 126. [2022-04-07 18:09:55,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:09:55,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand has 126 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 98 states have internal predecessors, (106), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:55,948 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand has 126 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 98 states have internal predecessors, (106), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:55,949 INFO L87 Difference]: Start difference. First operand 134 states. Second operand has 126 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 98 states have internal predecessors, (106), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:55,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:55,951 INFO L93 Difference]: Finished difference Result 134 states and 149 transitions. [2022-04-07 18:09:55,951 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 149 transitions. [2022-04-07 18:09:55,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:09:55,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:09:55,952 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 98 states have internal predecessors, (106), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) Second operand 134 states. [2022-04-07 18:09:55,952 INFO L87 Difference]: Start difference. First operand has 126 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 98 states have internal predecessors, (106), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) Second operand 134 states. [2022-04-07 18:09:55,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:09:55,954 INFO L93 Difference]: Finished difference Result 134 states and 149 transitions. [2022-04-07 18:09:55,954 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 149 transitions. [2022-04-07 18:09:55,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:09:55,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:09:55,955 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:09:55,955 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:09:55,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 98 states have internal predecessors, (106), 18 states have call successors, (18), 11 states have call predecessors, (18), 11 states have return successors, (16), 16 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-07 18:09:55,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 140 transitions. [2022-04-07 18:09:55,957 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 140 transitions. Word has length 88 [2022-04-07 18:09:55,957 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:09:55,957 INFO L478 AbstractCegarLoop]: Abstraction has 126 states and 140 transitions. [2022-04-07 18:09:55,957 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 11 states have internal predecessors, (55), 2 states have call successors, (20), 4 states have call predecessors, (20), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-07 18:09:55,958 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 140 transitions. [2022-04-07 18:09:55,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-07 18:09:55,958 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:09:55,958 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 18:09:55,989 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-07 18:09:56,179 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:09:56,180 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:09:56,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:09:56,180 INFO L85 PathProgramCache]: Analyzing trace with hash -1973629885, now seen corresponding path program 2 times [2022-04-07 18:09:56,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:09:56,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1179848765] [2022-04-07 18:09:56,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:09:56,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:09:56,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:09:56,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {16373#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {16300#true} is VALID [2022-04-07 18:09:56,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,312 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16300#true} {16300#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:09:56,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:09:56,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:09:56,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16300#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {16300#true} is VALID [2022-04-07 18:09:56,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:09:56,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [138] #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] {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:09:56,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:09:56,332 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {16300#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {16312#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:09:56,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:09:56,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,703 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:09:56,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:09:56,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:09:56,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:09:56,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:09:56,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,718 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:09:56,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:09:56,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:09:56,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:09:56,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:09:56,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:09:56,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:09:56,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:09:56,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16389#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} is VALID [2022-04-07 18:09:56,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:09:56,754 INFO L272 TraceCheckUtils]: 1: Hoare triple {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16300#true} is VALID [2022-04-07 18:09:56,754 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:09:56,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:09:56,754 INFO L290 TraceCheckUtils]: 4: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,755 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {16300#true} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:09:56,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16300#true} is VALID [2022-04-07 18:09:56,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:09:56,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:09:56,756 INFO L290 TraceCheckUtils]: 9: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:09:56,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16300#true} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:09:56,757 INFO L272 TraceCheckUtils]: 11: Hoare triple {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16300#true} is VALID [2022-04-07 18:09:56,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:09:56,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:09:56,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:09:56,761 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16389#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} is VALID [2022-04-07 18:09:56,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {16389#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:09:56,767 INFO L290 TraceCheckUtils]: 17: Hoare triple {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:09:56,770 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} is VALID [2022-04-07 18:09:56,771 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:09:56,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:10:05,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {16393#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {16393#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {16394#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {16394#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16395#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:10:05,898 INFO L290 TraceCheckUtils]: 3: Hoare triple {16395#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16396#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,903 INFO L290 TraceCheckUtils]: 4: Hoare triple {16396#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16397#(and (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)))} is VALID [2022-04-07 18:10:05,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {16397#(and (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16398#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))))))} is VALID [2022-04-07 18:10:05,906 INFO L290 TraceCheckUtils]: 6: Hoare triple {16398#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16399#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))))} is VALID [2022-04-07 18:10:05,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {16399#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16400#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:10:05,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {16400#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16401#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:10:05,914 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16402#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:10:05,915 INFO L290 TraceCheckUtils]: 10: Hoare triple {16402#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,917 INFO L290 TraceCheckUtils]: 12: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {16404#(or (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:10:05,923 INFO L290 TraceCheckUtils]: 16: Hoare triple {16404#(or (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {16405#(and (or (and (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,928 INFO L290 TraceCheckUtils]: 17: Hoare triple {16405#(and (or (and (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16406#(and (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) 0) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {16406#(and (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) 0) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16407#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {16407#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16408#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))))} is VALID [2022-04-07 18:10:05,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {16408#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16409#(and (or (and (or (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= (+ finddup_~i~1 2) finddup_~j~1))} is VALID [2022-04-07 18:10:05,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {16409#(and (or (and (or (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= (+ finddup_~i~1 2) finddup_~j~1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16410#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:10:05,942 INFO L290 TraceCheckUtils]: 22: Hoare triple {16410#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#in~a.base| finddup_~a.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16411#(and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (+ finddup_~a.offset (* finddup_~j~1 4)))))} is VALID [2022-04-07 18:10:05,946 INFO L290 TraceCheckUtils]: 23: Hoare triple {16411#(and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (+ finddup_~a.offset (* finddup_~j~1 4)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16412#(or (not (= |finddup_#t~mem11| |finddup_#t~mem10|)) (and (= |#memory_int| |old(#memory_int)|) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:10:05,948 INFO L290 TraceCheckUtils]: 24: Hoare triple {16412#(or (not (= |finddup_#t~mem11| |finddup_#t~mem10|)) (and (= |#memory_int| |old(#memory_int)|) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:10:05,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:10:05,950 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {16301#false} is VALID [2022-04-07 18:10:05,951 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 67 [2022-04-07 18:10:05,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:10:05,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [157] __VERIFIER_assertENTRY-->L10: 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] {16300#true} is VALID [2022-04-07 18:10:05,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,954 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16301#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {16301#false} is VALID [2022-04-07 18:10:05,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-07 18:10:05,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:10:05,957 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [157] __VERIFIER_assertENTRY-->L10: 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] {16300#true} is VALID [2022-04-07 18:10:05,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16301#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {16301#false} is VALID [2022-04-07 18:10:05,957 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 81 [2022-04-07 18:10:05,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:10:05,959 INFO L290 TraceCheckUtils]: 0: Hoare triple {16300#true} [157] __VERIFIER_assertENTRY-->L10: 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] {16300#true} is VALID [2022-04-07 18:10:05,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,960 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16301#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {16301#false} is VALID [2022-04-07 18:10:05,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {16300#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16373#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:10:05,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {16373#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16300#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L272 TraceCheckUtils]: 4: Hoare triple {16300#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L290 TraceCheckUtils]: 5: Hoare triple {16300#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L272 TraceCheckUtils]: 6: Hoare triple {16300#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L290 TraceCheckUtils]: 8: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16300#true} {16300#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {16300#true} is VALID [2022-04-07 18:10:05,961 INFO L290 TraceCheckUtils]: 11: Hoare triple {16300#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {16300#true} is VALID [2022-04-07 18:10:05,962 INFO L272 TraceCheckUtils]: 12: Hoare triple {16300#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {16374#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:10:05,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [138] #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] {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:10:05,963 INFO L290 TraceCheckUtils]: 14: Hoare triple {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:10:05,964 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {16300#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {16312#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:10:05,965 INFO L290 TraceCheckUtils]: 16: Hoare triple {16312#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-07 18:10:05,966 INFO L272 TraceCheckUtils]: 17: Hoare triple {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {16374#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:10:05,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:10:05,966 INFO L272 TraceCheckUtils]: 19: Hoare triple {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16300#true} is VALID [2022-04-07 18:10:05,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:10:05,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:10:05,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16300#true} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:10:05,968 INFO L272 TraceCheckUtils]: 24: Hoare triple {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16300#true} is VALID [2022-04-07 18:10:05,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:10:05,968 INFO L290 TraceCheckUtils]: 26: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:10:05,968 INFO L290 TraceCheckUtils]: 27: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:05,969 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16300#true} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-07 18:10:05,969 INFO L272 TraceCheckUtils]: 29: Hoare triple {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16300#true} is VALID [2022-04-07 18:10:05,969 INFO L290 TraceCheckUtils]: 30: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:10:05,969 INFO L290 TraceCheckUtils]: 31: Hoare triple {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:10:05,970 INFO L290 TraceCheckUtils]: 32: Hoare triple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:10:05,971 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} {16376#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16389#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} is VALID [2022-04-07 18:10:05,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {16389#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:10:05,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-07 18:10:05,980 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16390#(and (or (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (and (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0)) (= (select |#memory_int| |mkdup_#in~a.base|) (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))))))) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= 0 (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} is VALID [2022-04-07 18:10:05,980 INFO L290 TraceCheckUtils]: 37: Hoare triple {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} is VALID [2022-04-07 18:10:05,982 INFO L272 TraceCheckUtils]: 38: Hoare triple {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {16374#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:10:05,983 INFO L290 TraceCheckUtils]: 39: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {16393#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:05,983 INFO L290 TraceCheckUtils]: 40: Hoare triple {16393#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {16394#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,984 INFO L290 TraceCheckUtils]: 41: Hoare triple {16394#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16395#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:10:05,985 INFO L290 TraceCheckUtils]: 42: Hoare triple {16395#(and (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16396#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:05,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {16396#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16397#(and (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)))} is VALID [2022-04-07 18:10:05,994 INFO L290 TraceCheckUtils]: 44: Hoare triple {16397#(and (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16398#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))))))} is VALID [2022-04-07 18:10:05,996 INFO L290 TraceCheckUtils]: 45: Hoare triple {16398#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0))))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16399#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))))} is VALID [2022-04-07 18:10:06,000 INFO L290 TraceCheckUtils]: 46: Hoare triple {16399#(and (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (or (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16400#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:10:06,002 INFO L290 TraceCheckUtils]: 47: Hoare triple {16400#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16401#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-07 18:10:06,006 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 2)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 1))) (and (<= (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) (+ finddup_~i~1 1)) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (<= (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) (+ finddup_~i~1 2))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16402#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} is VALID [2022-04-07 18:10:06,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {16402#(and (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (<= (+ finddup_~i~1 3) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:06,009 INFO L290 TraceCheckUtils]: 50: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:06,010 INFO L290 TraceCheckUtils]: 51: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:06,011 INFO L290 TraceCheckUtils]: 52: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:06,012 INFO L290 TraceCheckUtils]: 53: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:06,014 INFO L290 TraceCheckUtils]: 54: Hoare triple {16403#(and (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {16404#(or (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:10:06,017 INFO L290 TraceCheckUtils]: 55: Hoare triple {16404#(or (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 1) finddup_~i~1)) (and (<= (+ (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4) 1) finddup_~i~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {16405#(and (or (and (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:06,021 INFO L290 TraceCheckUtils]: 56: Hoare triple {16405#(and (or (and (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16406#(and (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) 0) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:06,024 INFO L290 TraceCheckUtils]: 57: Hoare triple {16406#(and (or (and (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) 0) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0) (and (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16407#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-07 18:10:06,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {16407#(and (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0))) (or (and (<= (+ 2 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0)) (and (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (<= (+ 2 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))) (<= (+ finddup_~i~1 1) finddup_~j~1))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16408#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))))} is VALID [2022-04-07 18:10:06,030 INFO L290 TraceCheckUtils]: 59: Hoare triple {16408#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16409#(and (or (and (or (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= (+ finddup_~i~1 2) finddup_~j~1))} is VALID [2022-04-07 18:10:06,032 INFO L290 TraceCheckUtils]: 60: Hoare triple {16409#(and (or (and (or (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |finddup_#t~mem11| 0) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))))) (<= (+ finddup_~i~1 2) finddup_~j~1))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16410#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-07 18:10:06,035 INFO L290 TraceCheckUtils]: 61: Hoare triple {16410#(and (<= (+ finddup_~i~1 2) finddup_~j~1) (or (and (or (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base)) (and (or (and (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (= (mod (+ (* finddup_~a.offset 3) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4) 0) (<= (+ 3 (div (+ (* (- 1) finddup_~a.offset) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) 4)) finddup_~j~1)) (and (<= (+ 3 (div (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* (- 1) finddup_~a.offset)) 4)) finddup_~j~1) (= (mod (+ (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (* finddup_~a.offset 3)) 4) 0) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#in~a.base| finddup_~a.base))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16411#(and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (+ finddup_~a.offset (* finddup_~j~1 4)))))} is VALID [2022-04-07 18:10:06,039 INFO L290 TraceCheckUtils]: 62: Hoare triple {16411#(and (= |#memory_int| |old(#memory_int)|) (or (and (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= (+ finddup_~a.offset (* finddup_~j~1 4)) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |finddup_#in~a.base| finddup_~a.base) (not (= (+ finddup_~a.offset (* finddup_~i~1 4)) (+ finddup_~a.offset (* finddup_~j~1 4)))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16412#(or (not (= |finddup_#t~mem11| |finddup_#t~mem10|)) (and (= |#memory_int| |old(#memory_int)|) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-07 18:10:06,040 INFO L290 TraceCheckUtils]: 63: Hoare triple {16412#(or (not (= |finddup_#t~mem11| |finddup_#t~mem10|)) (and (= |#memory_int| |old(#memory_int)|) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| |finddup_#in~a.base|) (@diff (select |#memory_int| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:10:06,040 INFO L290 TraceCheckUtils]: 64: Hoare triple {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-07 18:10:06,042 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {16413#(not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} {16333#(= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {16301#false} is VALID [2022-04-07 18:10:06,042 INFO L290 TraceCheckUtils]: 66: Hoare triple {16301#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {16301#false} is VALID [2022-04-07 18:10:06,042 INFO L272 TraceCheckUtils]: 67: Hoare triple {16301#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {16300#true} is VALID [2022-04-07 18:10:06,042 INFO L290 TraceCheckUtils]: 68: Hoare triple {16300#true} [157] __VERIFIER_assertENTRY-->L10: 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] {16300#true} is VALID [2022-04-07 18:10:06,042 INFO L290 TraceCheckUtils]: 69: Hoare triple {16300#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 70: Hoare triple {16300#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16300#true} {16301#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {16301#false} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 72: Hoare triple {16301#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {16301#false} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 73: Hoare triple {16301#false} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {16301#false} is VALID [2022-04-07 18:10:06,043 INFO L272 TraceCheckUtils]: 74: Hoare triple {16301#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 75: Hoare triple {16300#true} [157] __VERIFIER_assertENTRY-->L10: 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] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 76: Hoare triple {16300#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 77: Hoare triple {16300#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {16300#true} {16301#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {16301#false} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 79: Hoare triple {16301#false} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {16301#false} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 80: Hoare triple {16301#false} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {16301#false} is VALID [2022-04-07 18:10:06,043 INFO L272 TraceCheckUtils]: 81: Hoare triple {16301#false} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 82: Hoare triple {16300#true} [157] __VERIFIER_assertENTRY-->L10: 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] {16300#true} is VALID [2022-04-07 18:10:06,043 INFO L290 TraceCheckUtils]: 83: Hoare triple {16300#true} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:06,044 INFO L290 TraceCheckUtils]: 84: Hoare triple {16300#true} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:06,044 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16300#true} {16301#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {16301#false} is VALID [2022-04-07 18:10:06,044 INFO L290 TraceCheckUtils]: 86: Hoare triple {16301#false} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {16301#false} is VALID [2022-04-07 18:10:06,044 INFO L272 TraceCheckUtils]: 87: Hoare triple {16301#false} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {16301#false} is VALID [2022-04-07 18:10:06,044 INFO L290 TraceCheckUtils]: 88: Hoare triple {16301#false} [157] __VERIFIER_assertENTRY-->L10: 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] {16301#false} is VALID [2022-04-07 18:10:06,044 INFO L290 TraceCheckUtils]: 89: Hoare triple {16301#false} [164] L10-->L10-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[] {16301#false} is VALID [2022-04-07 18:10:06,044 INFO L290 TraceCheckUtils]: 90: Hoare triple {16301#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:06,045 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 19 proven. 60 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 18:10:06,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:10:06,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1179848765] [2022-04-07 18:10:06,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1179848765] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:10:06,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1684949423] [2022-04-07 18:10:06,045 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 18:10:06,045 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:10:06,045 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:10:06,046 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:10:06,047 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-07 18:10:06,160 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 18:10:06,160 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 18:10:06,162 INFO L263 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 101 conjunts are in the unsatisfiable core [2022-04-07 18:10:06,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:10:06,186 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:10:06,211 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-07 18:10:17,802 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 29 treesize of output 24 [2022-04-07 18:10:46,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {16300#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:46,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {16300#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {16300#true} is VALID [2022-04-07 18:10:46,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {16300#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16300#true} {16300#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L272 TraceCheckUtils]: 4: Hoare triple {16300#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {16300#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L272 TraceCheckUtils]: 6: Hoare triple {16300#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16300#true} {16300#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {16300#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {16300#true} is VALID [2022-04-07 18:10:46,319 INFO L272 TraceCheckUtils]: 12: Hoare triple {16300#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {16300#true} is VALID [2022-04-07 18:10:46,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {16300#true} [138] #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] {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:10:46,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-07 18:10:46,321 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16375#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {16300#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {16312#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-07 18:10:46,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {16312#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-07 18:10:46,322 INFO L272 TraceCheckUtils]: 17: Hoare triple {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {16374#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:10:46,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {16471#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-07 18:10:46,322 INFO L272 TraceCheckUtils]: 19: Hoare triple {16471#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16300#true} is VALID [2022-04-07 18:10:46,323 INFO L290 TraceCheckUtils]: 20: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:10:46,323 INFO L290 TraceCheckUtils]: 21: Hoare triple {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:10:46,323 INFO L290 TraceCheckUtils]: 22: Hoare triple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:10:46,324 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} {16471#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {16487#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:10:46,324 INFO L272 TraceCheckUtils]: 24: Hoare triple {16487#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16300#true} is VALID [2022-04-07 18:10:46,324 INFO L290 TraceCheckUtils]: 25: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16300#true} is VALID [2022-04-07 18:10:46,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {16300#true} [136] L16-->L16-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[] {16300#true} is VALID [2022-04-07 18:10:46,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {16300#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16300#true} is VALID [2022-04-07 18:10:46,325 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16300#true} {16487#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {16487#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:10:46,325 INFO L272 TraceCheckUtils]: 29: Hoare triple {16487#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16300#true} is VALID [2022-04-07 18:10:46,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {16300#true} [133] assume_abort_if_notENTRY-->L16: 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] {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 18:10:46,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {16391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [136] L16-->L16-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[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:10:46,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16392#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 18:10:46,327 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16392#(not (= |assume_abort_if_not_#in~cond| 0))} {16487#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {16518#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-07 18:10:48,336 WARN L290 TraceCheckUtils]: 34: Hoare triple {16518#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {16522#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-07 18:10:50,344 WARN L290 TraceCheckUtils]: 35: Hoare triple {16522#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16522#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-07 18:10:51,756 WARN L284 TraceCheckUtils]: 36: Hoare quadruple {16522#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} {16313#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {16529#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-07 18:10:53,766 WARN L290 TraceCheckUtils]: 37: Hoare triple {16529#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {16529#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-07 18:10:53,767 INFO L272 TraceCheckUtils]: 38: Hoare triple {16529#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {16374#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:10:53,768 INFO L290 TraceCheckUtils]: 39: Hoare triple {16374#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {16539#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:53,768 INFO L290 TraceCheckUtils]: 40: Hoare triple {16539#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {16543#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:53,769 INFO L290 TraceCheckUtils]: 41: Hoare triple {16543#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16547#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} is VALID [2022-04-07 18:10:53,769 INFO L290 TraceCheckUtils]: 42: Hoare triple {16547#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16551#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-07 18:10:53,770 INFO L290 TraceCheckUtils]: 43: Hoare triple {16551#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16555#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-07 18:10:53,771 INFO L290 TraceCheckUtils]: 44: Hoare triple {16555#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16559#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-07 18:10:53,772 INFO L290 TraceCheckUtils]: 45: Hoare triple {16559#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16563#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-07 18:10:53,773 INFO L290 TraceCheckUtils]: 46: Hoare triple {16563#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16567#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 3)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,773 INFO L290 TraceCheckUtils]: 47: Hoare triple {16567#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 3)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16571#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 3)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,774 INFO L290 TraceCheckUtils]: 48: Hoare triple {16571#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 3)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16575#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 3)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,775 INFO L290 TraceCheckUtils]: 49: Hoare triple {16575#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 3)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16579#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~j~1 (+ finddup_~i~1 4)))} is VALID [2022-04-07 18:10:53,776 INFO L290 TraceCheckUtils]: 50: Hoare triple {16579#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~j~1 (+ finddup_~i~1 4)))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16583#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~j~1 (+ finddup_~i~1 4)))} is VALID [2022-04-07 18:10:53,776 INFO L290 TraceCheckUtils]: 51: Hoare triple {16583#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~j~1 (+ finddup_~i~1 4)))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16587#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~j~1 (+ finddup_~i~1 4)))} is VALID [2022-04-07 18:10:53,777 INFO L290 TraceCheckUtils]: 52: Hoare triple {16587#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~j~1 (+ finddup_~i~1 4)))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16591#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 5)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 16 (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,778 INFO L290 TraceCheckUtils]: 53: Hoare triple {16591#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 5)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 16 (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {16595#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 16 (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 5)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,780 INFO L290 TraceCheckUtils]: 54: Hoare triple {16595#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)))) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset 16 (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 5)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {16599#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,781 INFO L290 TraceCheckUtils]: 55: Hoare triple {16599#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {16603#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,782 INFO L290 TraceCheckUtils]: 56: Hoare triple {16603#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16607#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,783 INFO L290 TraceCheckUtils]: 57: Hoare triple {16607#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16611#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,785 INFO L290 TraceCheckUtils]: 58: Hoare triple {16611#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16615#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,786 INFO L290 TraceCheckUtils]: 59: Hoare triple {16615#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16619#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,786 INFO L290 TraceCheckUtils]: 60: Hoare triple {16619#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16623#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,788 INFO L290 TraceCheckUtils]: 61: Hoare triple {16623#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {16627#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 2)) (+ finddup_~i~1 1)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 8))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-07 18:10:53,790 INFO L290 TraceCheckUtils]: 62: Hoare triple {16627#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (= (+ finddup_~j~1 (- 2)) (+ finddup_~i~1 1)) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= finddup_~i~1 1) (<= |finddup_#in~n| (+ finddup_~i~1 4)) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 12)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 8))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {16631#(exists ((finddup_~j~1 Int)) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) |finddup_#t~mem11|) (<= finddup_~j~1 4) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12)))) (<= |finddup_#in~n| (+ finddup_~j~1 1)) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|))))))} is VALID [2022-04-07 18:10:53,798 INFO L290 TraceCheckUtils]: 63: Hoare triple {16631#(exists ((finddup_~j~1 Int)) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) |finddup_#t~mem11|) (<= finddup_~j~1 4) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12)))) (<= |finddup_#in~n| (+ finddup_~j~1 1)) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|))))))} [168] L38-->finddupFINAL: Formula: (and (= |v_finddup_#t~mem11_3| |v_finddup_#t~mem10_3|) (= |v_finddup_#res_2| 1) (= (let ((.cse0 (store |v_#memory_int_4| v_finddup_~_i.base_2 (store (select |v_#memory_int_4| v_finddup_~_i.base_2) v_finddup_~_i.offset_2 v_finddup_~i~1_6)))) (store .cse0 v_finddup_~_j.base_2 (store (select .cse0 v_finddup_~_j.base_2) v_finddup_~_j.offset_2 v_finddup_~j~1_5))) |v_#memory_int_2|)) InVars {finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_3|, #memory_int=|v_#memory_int_4|, finddup_#t~mem10=|v_finddup_#t~mem10_3|, finddup_~_i.offset=v_finddup_~_i.offset_2} OutVars{finddup_~_j.offset=v_finddup_~_j.offset_2, finddup_~_j.base=v_finddup_~_j.base_2, finddup_~i~1=v_finddup_~i~1_6, finddup_~_i.base=v_finddup_~_i.base_2, finddup_~j~1=v_finddup_~j~1_5, #memory_int=|v_#memory_int_2|, finddup_~_i.offset=v_finddup_~_i.offset_2, finddup_#res=|v_finddup_#res_2|} AuxVars[] AssignedVars[finddup_#t~mem11, #memory_int, finddup_#t~mem10, finddup_#res] {16635#(exists ((finddup_~j~1 Int)) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12)))) (<= finddup_~j~1 4) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (<= |finddup_#in~n| (+ finddup_~j~1 1)) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|))))))} is VALID [2022-04-07 18:10:53,801 INFO L290 TraceCheckUtils]: 64: Hoare triple {16635#(exists ((finddup_~j~1 Int)) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12)))) (<= finddup_~j~1 4) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (<= |finddup_#in~n| (+ finddup_~j~1 1)) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|))))))} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16635#(exists ((finddup_~j~1 Int)) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12)))) (<= finddup_~j~1 4) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (<= |finddup_#in~n| (+ finddup_~j~1 1)) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|))))))} is VALID [2022-04-07 18:10:53,804 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {16635#(exists ((finddup_~j~1 Int)) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))))) (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12)))) (<= finddup_~j~1 4) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 8))))) (<= |finddup_#in~n| (+ finddup_~j~1 1)) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 12))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|)))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) (- 16) |finddup_#in~a.offset|))))))} {16529#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {16301#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L272 TraceCheckUtils]: 67: Hoare triple {16301#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L290 TraceCheckUtils]: 68: Hoare triple {16301#false} [157] __VERIFIER_assertENTRY-->L10: 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] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L290 TraceCheckUtils]: 69: Hoare triple {16301#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L290 TraceCheckUtils]: 70: Hoare triple {16301#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16301#false} {16301#false} [193] __VERIFIER_assertEXIT-->L59-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {16301#false} is VALID [2022-04-07 18:10:53,804 INFO L290 TraceCheckUtils]: 72: Hoare triple {16301#false} [156] L59-1-->L60: Formula: (and (= (select (select |v_#memory_int_13| |v_main_~#i~2.base_7|) |v_main_~#i~2.offset_7|) |v_main_#t~mem15_1|) (let ((.cse0 (<= 0 |v_main_#t~mem15_1|))) (or (and .cse0 |v_main_#t~short17_1|) (and (not .cse0) (not |v_main_#t~short17_1|))))) InVars {#memory_int=|v_#memory_int_13|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} OutVars{#memory_int=|v_#memory_int_13|, main_#t~short17=|v_main_#t~short17_1|, main_#t~mem15=|v_main_#t~mem15_1|, main_~#i~2.offset=|v_main_~#i~2.offset_7|, main_~#i~2.base=|v_main_~#i~2.base_7|} AuxVars[] AssignedVars[main_#t~mem15, main_#t~short17] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 73: Hoare triple {16301#false} [162] L60-->L60-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem16_1| v_main_~n~0_7))) (or (and (not |v_main_#t~short17_2|) (not .cse0)) (and |v_main_#t~short17_2| .cse0))) (= (select (select |v_#memory_int_14| |v_main_~#i~2.base_8|) |v_main_~#i~2.offset_8|) |v_main_#t~mem16_1|) |v_main_#t~short17_3|) InVars {#memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_3|, main_~n~0=v_main_~n~0_7, main_~#i~2.offset=|v_main_~#i~2.offset_8|, main_~#i~2.base=|v_main_~#i~2.base_8|} OutVars{main_~#i~2.offset=|v_main_~#i~2.offset_8|, #memory_int=|v_#memory_int_14|, main_#t~short17=|v_main_#t~short17_2|, main_~n~0=v_main_~n~0_7, main_#t~mem16=|v_main_#t~mem16_1|, main_~#i~2.base=|v_main_~#i~2.base_8|} AuxVars[] AssignedVars[main_#t~short17, main_#t~mem16] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L272 TraceCheckUtils]: 74: Hoare triple {16301#false} [170] L60-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 75: Hoare triple {16301#false} [157] __VERIFIER_assertENTRY-->L10: 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] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 76: Hoare triple {16301#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 77: Hoare triple {16301#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {16301#false} {16301#false} [194] __VERIFIER_assertEXIT-->L60-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite |v_main_#t~short17_7| 1 0)) InVars {main_#t~short17=|v_main_#t~short17_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short17] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 79: Hoare triple {16301#false} [175] L60-3-->L61: Formula: (and (= (select (select |v_#memory_int_15| |v_main_~#j~2.base_7|) |v_main_~#j~2.offset_7|) |v_main_#t~mem18_2|) (let ((.cse0 (<= 0 |v_main_#t~mem18_2|))) (or (and (not |v_main_#t~short20_4|) (not .cse0)) (and .cse0 |v_main_#t~short20_4|)))) InVars {#memory_int=|v_#memory_int_15|, main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_~#j~2.base=|v_main_~#j~2.base_7|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_7|, main_#t~short20=|v_main_#t~short20_4|, main_#t~mem15=|v_main_#t~mem15_2|, #memory_int=|v_#memory_int_15|, main_~#j~2.base=|v_main_~#j~2.base_7|, main_#t~short17=|v_main_#t~short17_6|, main_#t~mem16=|v_main_#t~mem16_2|, main_#t~mem18=|v_main_#t~mem18_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem15, main_#t~short17, main_#t~mem16, main_#t~mem18] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 80: Hoare triple {16301#false} [176] L61-->L61-2: Formula: (and (let ((.cse0 (< |v_main_#t~mem19_2| v_main_~n~0_8))) (or (and .cse0 |v_main_#t~short20_5|) (and (not |v_main_#t~short20_5|) (not .cse0)))) (= |v_main_#t~mem19_2| (select (select |v_#memory_int_16| |v_main_~#j~2.base_8|) |v_main_~#j~2.offset_8|)) |v_main_#t~short20_6|) InVars {#memory_int=|v_#memory_int_16|, main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_#t~short20=|v_main_#t~short20_6|, main_~n~0=v_main_~n~0_8} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_8|, main_#t~short20=|v_main_#t~short20_5|, #memory_int=|v_#memory_int_16|, main_~#j~2.base=|v_main_~#j~2.base_8|, main_~n~0=v_main_~n~0_8, main_#t~mem19=|v_main_#t~mem19_2|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem19] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L272 TraceCheckUtils]: 81: Hoare triple {16301#false} [181] L61-2-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 82: Hoare triple {16301#false} [157] __VERIFIER_assertENTRY-->L10: 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] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 83: Hoare triple {16301#false} [165] L10-->L10-3: Formula: (not (= v___VERIFIER_assert_~cond_3 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 84: Hoare triple {16301#false} [173] L10-3-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16301#false} {16301#false} [195] __VERIFIER_assertEXIT-->L61-3: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_3| (ite |v_main_#t~short20_7| 1 0)) InVars {main_#t~short20=|v_main_#t~short20_7|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~short20] {16301#false} is VALID [2022-04-07 18:10:53,805 INFO L290 TraceCheckUtils]: 86: Hoare triple {16301#false} [178] L61-3-->L62: Formula: (and (= (select (select |v_#memory_int_5| |v_main_~#j~2.base_1|) |v_main_~#j~2.offset_1|) |v_main_#t~mem22_1|) (= (select (select |v_#memory_int_5| |v_main_~#i~2.base_1|) |v_main_~#i~2.offset_1|) |v_main_#t~mem21_1|)) InVars {#memory_int=|v_#memory_int_5|, main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_~#i~2.base=|v_main_~#i~2.base_1|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_1|, main_#t~short20=|v_main_#t~short20_3|, main_~#i~2.offset=|v_main_~#i~2.offset_1|, main_#t~mem22=|v_main_#t~mem22_1|, main_#t~mem21=|v_main_#t~mem21_1|, #memory_int=|v_#memory_int_5|, main_~#j~2.base=|v_main_~#j~2.base_1|, main_~#i~2.base=|v_main_~#i~2.base_1|, main_#t~mem18=|v_main_#t~mem18_1|, main_#t~mem19=|v_main_#t~mem19_1|} AuxVars[] AssignedVars[main_#t~short20, main_#t~mem22, main_#t~mem21, main_#t~mem18, main_#t~mem19] {16301#false} is VALID [2022-04-07 18:10:53,806 INFO L272 TraceCheckUtils]: 87: Hoare triple {16301#false} [182] L62-->__VERIFIER_assertENTRY: Formula: (= (ite (not (= |v_main_#t~mem22_4| |v_main_#t~mem21_4|)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_#t~mem22=|v_main_#t~mem22_4|, main_#t~mem21=|v_main_#t~mem21_4|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_#t~mem22, main_#t~mem21] {16301#false} is VALID [2022-04-07 18:10:53,806 INFO L290 TraceCheckUtils]: 88: Hoare triple {16301#false} [157] __VERIFIER_assertENTRY-->L10: 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] {16301#false} is VALID [2022-04-07 18:10:53,806 INFO L290 TraceCheckUtils]: 89: Hoare triple {16301#false} [164] L10-->L10-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[] {16301#false} is VALID [2022-04-07 18:10:53,806 INFO L290 TraceCheckUtils]: 90: Hoare triple {16301#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16301#false} is VALID [2022-04-07 18:10:53,806 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 9 proven. 68 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-07 18:10:53,807 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:10:54,462 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-07 18:10:54,713 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1684949423] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:10:54,714 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 18:10:54,714 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 38] total 64 [2022-04-07 18:10:54,714 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1454678707] [2022-04-07 18:10:54,714 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 18:10:54,714 INFO L78 Accepts]: Start accepts. Automaton has has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) Word has length 91 [2022-04-07 18:10:54,715 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:10:54,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 18:11:01,744 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 126 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-07 18:11:01,745 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 64 states [2022-04-07 18:11:01,745 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:11:01,745 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 64 interpolants. [2022-04-07 18:11:01,746 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=396, Invalid=3749, Unknown=15, NotChecked=0, Total=4160 [2022-04-07 18:11:01,746 INFO L87 Difference]: Start difference. First operand 126 states and 140 transitions. Second operand has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 18:11:33,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:11:33,242 INFO L93 Difference]: Finished difference Result 122 states and 137 transitions. [2022-04-07 18:11:33,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 59 states. [2022-04-07 18:11:33,242 INFO L78 Accepts]: Start accepts. Automaton has has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) Word has length 91 [2022-04-07 18:11:33,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:11:33,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 18:11:33,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 125 transitions. [2022-04-07 18:11:33,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 18:11:33,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 125 transitions. [2022-04-07 18:11:33,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 125 transitions. [2022-04-07 18:11:41,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 121 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-07 18:11:41,586 INFO L225 Difference]: With dead ends: 122 [2022-04-07 18:11:41,586 INFO L226 Difference]: Without dead ends: 118 [2022-04-07 18:11:41,587 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 226 GetRequests, 111 SyntacticMatches, 0 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4194 ImplicationChecksByTransitivity, 59.8s TimeCoverageRelationStatistics Valid=1168, Invalid=12381, Unknown=23, NotChecked=0, Total=13572 [2022-04-07 18:11:41,587 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 175 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 2467 mSolverCounterSat, 178 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 179 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 2986 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 178 IncrementalHoareTripleChecker+Valid, 2467 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 341 IncrementalHoareTripleChecker+Unchecked, 5.3s IncrementalHoareTripleChecker+Time [2022-04-07 18:11:41,587 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [179 Valid, 147 Invalid, 2986 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [178 Valid, 2467 Invalid, 0 Unknown, 341 Unchecked, 5.3s Time] [2022-04-07 18:11:41,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-07 18:11:41,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 102. [2022-04-07 18:11:41,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:11:41,590 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 102 states, 80 states have (on average 1.1) internal successors, (88), 81 states have internal predecessors, (88), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 18:11:41,590 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 102 states, 80 states have (on average 1.1) internal successors, (88), 81 states have internal predecessors, (88), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 18:11:41,591 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 102 states, 80 states have (on average 1.1) internal successors, (88), 81 states have internal predecessors, (88), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 18:11:41,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:11:41,592 INFO L93 Difference]: Finished difference Result 118 states and 131 transitions. [2022-04-07 18:11:41,592 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 131 transitions. [2022-04-07 18:11:41,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:11:41,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:11:41,593 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 80 states have (on average 1.1) internal successors, (88), 81 states have internal predecessors, (88), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 118 states. [2022-04-07 18:11:41,593 INFO L87 Difference]: Start difference. First operand has 102 states, 80 states have (on average 1.1) internal successors, (88), 81 states have internal predecessors, (88), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 118 states. [2022-04-07 18:11:41,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:11:41,595 INFO L93 Difference]: Finished difference Result 118 states and 131 transitions. [2022-04-07 18:11:41,596 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 131 transitions. [2022-04-07 18:11:41,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:11:41,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:11:41,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:11:41,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:11:41,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 80 states have (on average 1.1) internal successors, (88), 81 states have internal predecessors, (88), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-07 18:11:41,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 114 transitions. [2022-04-07 18:11:41,598 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 114 transitions. Word has length 91 [2022-04-07 18:11:41,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:11:41,598 INFO L478 AbstractCegarLoop]: Abstraction has 102 states and 114 transitions. [2022-04-07 18:11:41,598 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 64 states, 60 states have (on average 1.4833333333333334) internal successors, (89), 58 states have internal predecessors, (89), 8 states have call successors, (22), 4 states have call predecessors, (22), 8 states have return successors, (19), 9 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 18:11:41,599 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 114 transitions. [2022-04-07 18:11:41,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-07 18:11:41,599 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 18:11:41,599 INFO L499 BasicCegarLoop]: trace histogram [8, 8, 8, 5, 5, 5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07 18:11:41,621 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-07 18:11:41,811 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-07 18:11:41,812 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 18:11:41,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 18:11:41,812 INFO L85 PathProgramCache]: Analyzing trace with hash -507134286, now seen corresponding path program 7 times [2022-04-07 18:11:41,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 18:11:41,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1116694123] [2022-04-07 18:11:41,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 18:11:41,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 18:11:41,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 18:11:41,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,852 INFO L290 TraceCheckUtils]: 0: Hoare triple {17435#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {17360#true} is VALID [2022-04-07 18:11:41,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,852 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17360#true} {17360#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:11:41,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:41,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 18:11:41,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {17436#(= |#memory_int| |old(#memory_int)|)} [138] #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] {17360#true} is VALID [2022-04-07 18:11:41,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,862 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17360#true} {17360#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17360#true} is VALID [2022-04-07 18:11:41,862 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-07 18:11:41,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-07 18:11:41,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 18:11:41,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:41,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 18:11:41,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,878 INFO L290 TraceCheckUtils]: 0: Hoare triple {17436#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,878 INFO L272 TraceCheckUtils]: 1: Hoare triple {17360#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L290 TraceCheckUtils]: 3: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L290 TraceCheckUtils]: 4: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {17360#true} {17360#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L272 TraceCheckUtils]: 6: Hoare triple {17360#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17360#true} {17360#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:41,879 INFO L272 TraceCheckUtils]: 11: Hoare triple {17360#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17360#true} {17360#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {17360#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L290 TraceCheckUtils]: 17: Hoare triple {17360#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {17360#true} {17360#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:41,880 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-07 18:11:41,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:41,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {17436#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {17360#true} is VALID [2022-04-07 18:11:41,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17360#true} is VALID [2022-04-07 18:11:41,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 3: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 4: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 6: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,966 INFO L290 TraceCheckUtils]: 12: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {17360#true} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {17360#true} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17360#true} is VALID [2022-04-07 18:11:41,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {17360#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:41,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:41,968 INFO L290 TraceCheckUtils]: 18: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:41,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:41,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:41,969 INFO L290 TraceCheckUtils]: 21: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:41,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:41,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17453#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:11:41,973 INFO L290 TraceCheckUtils]: 28: Hoare triple {17453#(<= (+ finddup_~i~1 3) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:41,974 INFO L290 TraceCheckUtils]: 29: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:41,974 INFO L290 TraceCheckUtils]: 30: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:41,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17455#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-07 18:11:41,975 INFO L290 TraceCheckUtils]: 32: Hoare triple {17455#(<= (+ finddup_~j~1 1) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:41,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:41,975 INFO L290 TraceCheckUtils]: 35: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:41,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:41,976 INFO L290 TraceCheckUtils]: 38: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,976 INFO L290 TraceCheckUtils]: 39: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:41,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {17361#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,976 INFO L290 TraceCheckUtils]: 41: Hoare triple {17361#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {17361#false} is VALID [2022-04-07 18:11:41,976 INFO L290 TraceCheckUtils]: 42: Hoare triple {17361#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,976 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {17361#false} {17360#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17361#false} is VALID [2022-04-07 18:11:41,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {17360#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17435#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 18:11:41,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {17435#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {17360#true} is VALID [2022-04-07 18:11:41,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {17360#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {17360#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {17360#true} is VALID [2022-04-07 18:11:41,977 INFO L272 TraceCheckUtils]: 6: Hoare triple {17360#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:41,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17360#true} {17360#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:41,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {17360#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {17360#true} is VALID [2022-04-07 18:11:41,979 INFO L272 TraceCheckUtils]: 12: Hoare triple {17360#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17436#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:11:41,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {17436#(= |#memory_int| |old(#memory_int)|)} [138] #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] {17360#true} is VALID [2022-04-07 18:11:41,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {17360#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,979 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17360#true} {17360#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17360#true} is VALID [2022-04-07 18:11:41,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {17360#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:41,980 INFO L272 TraceCheckUtils]: 17: Hoare triple {17360#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17436#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:11:41,980 INFO L290 TraceCheckUtils]: 18: Hoare triple {17436#(= |#memory_int| |old(#memory_int)|)} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,980 INFO L272 TraceCheckUtils]: 19: Hoare triple {17360#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 21: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 22: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17360#true} {17360#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L272 TraceCheckUtils]: 24: Hoare triple {17360#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 25: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 26: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 27: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17360#true} {17360#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L272 TraceCheckUtils]: 29: Hoare triple {17360#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L290 TraceCheckUtils]: 31: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17360#true} {17360#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {17360#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L290 TraceCheckUtils]: 35: Hoare triple {17360#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17360#true} {17360#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:41,982 INFO L290 TraceCheckUtils]: 37: Hoare triple {17360#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {17360#true} is VALID [2022-04-07 18:11:41,984 INFO L272 TraceCheckUtils]: 38: Hoare triple {17360#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17436#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-07 18:11:41,984 INFO L290 TraceCheckUtils]: 39: Hoare triple {17436#(= |#memory_int| |old(#memory_int)|)} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {17360#true} is VALID [2022-04-07 18:11:41,984 INFO L290 TraceCheckUtils]: 40: Hoare triple {17360#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17360#true} is VALID [2022-04-07 18:11:41,984 INFO L290 TraceCheckUtils]: 41: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,984 INFO L290 TraceCheckUtils]: 42: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 43: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 44: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 45: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 46: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 47: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 48: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 49: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 50: Hoare triple {17360#true} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 51: Hoare triple {17360#true} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 52: Hoare triple {17360#true} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17360#true} is VALID [2022-04-07 18:11:41,985 INFO L290 TraceCheckUtils]: 53: Hoare triple {17360#true} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:41,986 INFO L290 TraceCheckUtils]: 54: Hoare triple {17360#true} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17360#true} is VALID [2022-04-07 18:11:41,986 INFO L290 TraceCheckUtils]: 55: Hoare triple {17360#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:41,987 INFO L290 TraceCheckUtils]: 56: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:41,987 INFO L290 TraceCheckUtils]: 57: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:41,988 INFO L290 TraceCheckUtils]: 58: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:41,988 INFO L290 TraceCheckUtils]: 59: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:41,989 INFO L290 TraceCheckUtils]: 60: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:41,989 INFO L290 TraceCheckUtils]: 61: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:41,990 INFO L290 TraceCheckUtils]: 62: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,990 INFO L290 TraceCheckUtils]: 63: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,991 INFO L290 TraceCheckUtils]: 64: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,991 INFO L290 TraceCheckUtils]: 65: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:41,992 INFO L290 TraceCheckUtils]: 66: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17453#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:11:41,992 INFO L290 TraceCheckUtils]: 67: Hoare triple {17453#(<= (+ finddup_~i~1 3) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:41,993 INFO L290 TraceCheckUtils]: 68: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:41,993 INFO L290 TraceCheckUtils]: 69: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:41,994 INFO L290 TraceCheckUtils]: 70: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17455#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-07 18:11:41,994 INFO L290 TraceCheckUtils]: 71: Hoare triple {17455#(<= (+ finddup_~j~1 1) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 72: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 73: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 74: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 75: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 76: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 77: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 78: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 79: Hoare triple {17361#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 80: Hoare triple {17361#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L290 TraceCheckUtils]: 81: Hoare triple {17361#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,995 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {17361#false} {17360#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17361#false} is VALID [2022-04-07 18:11:41,996 INFO L290 TraceCheckUtils]: 83: Hoare triple {17361#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {17361#false} is VALID [2022-04-07 18:11:41,996 INFO L272 TraceCheckUtils]: 84: Hoare triple {17361#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {17361#false} is VALID [2022-04-07 18:11:41,996 INFO L290 TraceCheckUtils]: 85: Hoare triple {17361#false} [157] __VERIFIER_assertENTRY-->L10: 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] {17361#false} is VALID [2022-04-07 18:11:41,996 INFO L290 TraceCheckUtils]: 86: Hoare triple {17361#false} [164] L10-->L10-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[] {17361#false} is VALID [2022-04-07 18:11:41,996 INFO L290 TraceCheckUtils]: 87: Hoare triple {17361#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:41,996 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 107 proven. 22 refuted. 0 times theorem prover too weak. 54 trivial. 0 not checked. [2022-04-07 18:11:41,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 18:11:41,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1116694123] [2022-04-07 18:11:41,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1116694123] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 18:11:41,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [839105133] [2022-04-07 18:11:41,997 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-04-07 18:11:41,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:11:41,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 18:11:42,000 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 18:11:42,004 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-07 18:11:42,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:42,134 INFO L263 TraceCheckSpWp]: Trace formula consists of 318 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 18:11:42,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 18:11:42,153 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 18:11:42,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {17360#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L272 TraceCheckUtils]: 4: Hoare triple {17360#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {17360#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {17360#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17360#true} {17360#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 11: Hoare triple {17360#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L272 TraceCheckUtils]: 12: Hoare triple {17360#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {17360#true} [138] #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] {17360#true} is VALID [2022-04-07 18:11:42,480 INFO L290 TraceCheckUtils]: 14: Hoare triple {17360#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17360#true} {17360#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 16: Hoare triple {17360#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L272 TraceCheckUtils]: 17: Hoare triple {17360#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 18: Hoare triple {17360#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L272 TraceCheckUtils]: 19: Hoare triple {17360#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 22: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17360#true} {17360#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L272 TraceCheckUtils]: 24: Hoare triple {17360#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,481 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17360#true} {17360#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L272 TraceCheckUtils]: 29: Hoare triple {17360#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 32: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17360#true} {17360#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 34: Hoare triple {17360#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {17360#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17360#true} {17360#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 37: Hoare triple {17360#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L272 TraceCheckUtils]: 38: Hoare triple {17360#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17360#true} is VALID [2022-04-07 18:11:42,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {17360#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {17360#true} is VALID [2022-04-07 18:11:42,483 INFO L290 TraceCheckUtils]: 40: Hoare triple {17360#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:42,483 INFO L290 TraceCheckUtils]: 41: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:42,483 INFO L290 TraceCheckUtils]: 42: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:42,484 INFO L290 TraceCheckUtils]: 43: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:42,484 INFO L290 TraceCheckUtils]: 44: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:42,485 INFO L290 TraceCheckUtils]: 45: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:42,485 INFO L290 TraceCheckUtils]: 46: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:42,485 INFO L290 TraceCheckUtils]: 47: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:42,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:42,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17606#(<= (+ finddup_~i~1 4) finddup_~j~1)} is VALID [2022-04-07 18:11:42,487 INFO L290 TraceCheckUtils]: 50: Hoare triple {17606#(<= (+ finddup_~i~1 4) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,487 INFO L290 TraceCheckUtils]: 51: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,487 INFO L290 TraceCheckUtils]: 52: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,488 INFO L290 TraceCheckUtils]: 55: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,489 INFO L290 TraceCheckUtils]: 56: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,489 INFO L290 TraceCheckUtils]: 57: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,489 INFO L290 TraceCheckUtils]: 58: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,489 INFO L290 TraceCheckUtils]: 59: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,490 INFO L290 TraceCheckUtils]: 60: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,490 INFO L290 TraceCheckUtils]: 61: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,491 INFO L290 TraceCheckUtils]: 63: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,491 INFO L290 TraceCheckUtils]: 64: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,491 INFO L290 TraceCheckUtils]: 65: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,492 INFO L290 TraceCheckUtils]: 66: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17453#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:11:42,492 INFO L290 TraceCheckUtils]: 67: Hoare triple {17453#(<= (+ finddup_~i~1 3) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:42,492 INFO L290 TraceCheckUtils]: 68: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:42,493 INFO L290 TraceCheckUtils]: 69: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:42,493 INFO L290 TraceCheckUtils]: 70: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17455#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 71: Hoare triple {17455#(<= (+ finddup_~j~1 1) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 72: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 73: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 74: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 75: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 76: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 77: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 78: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 79: Hoare triple {17361#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 80: Hoare triple {17361#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L290 TraceCheckUtils]: 81: Hoare triple {17361#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,494 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {17361#false} {17360#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17361#false} is VALID [2022-04-07 18:11:42,495 INFO L290 TraceCheckUtils]: 83: Hoare triple {17361#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {17361#false} is VALID [2022-04-07 18:11:42,495 INFO L272 TraceCheckUtils]: 84: Hoare triple {17361#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {17361#false} is VALID [2022-04-07 18:11:42,495 INFO L290 TraceCheckUtils]: 85: Hoare triple {17361#false} [157] __VERIFIER_assertENTRY-->L10: 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] {17361#false} is VALID [2022-04-07 18:11:42,495 INFO L290 TraceCheckUtils]: 86: Hoare triple {17361#false} [164] L10-->L10-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[] {17361#false} is VALID [2022-04-07 18:11:42,495 INFO L290 TraceCheckUtils]: 87: Hoare triple {17361#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,495 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 51 proven. 89 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-07 18:11:42,495 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 87: Hoare triple {17361#false} [171] L10-1-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 86: Hoare triple {17361#false} [164] L10-->L10-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[] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 85: Hoare triple {17361#false} [157] __VERIFIER_assertENTRY-->L10: 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] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L272 TraceCheckUtils]: 84: Hoare triple {17361#false} [152] L59-->__VERIFIER_assertENTRY: Formula: (= v_main_~r~0_3 |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~r~0=v_main_~r~0_3} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~r~0] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 83: Hoare triple {17361#false} [150] L57-1-->L59: Formula: (and (= v_main_~r~0_1 |v_main_#t~ret14_3|) (<= |v_main_#t~ret14_3| 2147483647) (<= 0 (+ |v_main_#t~ret14_3| 2147483648))) InVars {main_#t~ret14=|v_main_#t~ret14_3|} OutVars{main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~ret14, main_~r~0] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {17361#false} {17360#true} [192] finddupEXIT-->L57-1: AOR: Formula: (= |v_main_#t~ret14_4| |v_finddup_#resOutParam_1|) InVars {finddup_#res=|v_finddup_#resOutParam_1|} OutVars{main_#t~ret14=|v_main_#t~ret14_4|} AuxVars[] AssignedVars[main_#t~ret14, finddup_#res] LVA: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 81: Hoare triple {17361#false} [166] finddupFINAL-->finddupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 80: Hoare triple {17361#false} [158] L36-4-->finddupFINAL: Formula: (= |v_finddup_#res_1| 0) InVars {} OutVars{finddup_#res=|v_finddup_#res_1|} AuxVars[] AssignedVars[finddup_#res] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 79: Hoare triple {17361#false} [154] L36-3-->L36-4: Formula: (not (< v_finddup_~i~1_3 v_finddup_~n_2)) InVars {finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} OutVars{finddup_~i~1=v_finddup_~i~1_3, finddup_~n=v_finddup_~n_2} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 78: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:42,817 INFO L290 TraceCheckUtils]: 77: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,818 INFO L290 TraceCheckUtils]: 76: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:42,818 INFO L290 TraceCheckUtils]: 75: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:42,818 INFO L290 TraceCheckUtils]: 74: Hoare triple {17361#false} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,818 INFO L290 TraceCheckUtils]: 73: Hoare triple {17361#false} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17361#false} is VALID [2022-04-07 18:11:42,818 INFO L290 TraceCheckUtils]: 72: Hoare triple {17361#false} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17361#false} is VALID [2022-04-07 18:11:42,818 INFO L290 TraceCheckUtils]: 71: Hoare triple {17455#(<= (+ finddup_~j~1 1) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17361#false} is VALID [2022-04-07 18:11:42,819 INFO L290 TraceCheckUtils]: 70: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17455#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-07 18:11:42,819 INFO L290 TraceCheckUtils]: 69: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:42,820 INFO L290 TraceCheckUtils]: 68: Hoare triple {17454#(<= (+ finddup_~j~1 2) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:42,820 INFO L290 TraceCheckUtils]: 67: Hoare triple {17453#(<= (+ finddup_~i~1 3) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17454#(<= (+ finddup_~j~1 2) finddup_~n)} is VALID [2022-04-07 18:11:42,820 INFO L290 TraceCheckUtils]: 66: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17453#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-07 18:11:42,821 INFO L290 TraceCheckUtils]: 65: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,821 INFO L290 TraceCheckUtils]: 64: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,821 INFO L290 TraceCheckUtils]: 63: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,822 INFO L290 TraceCheckUtils]: 62: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,822 INFO L290 TraceCheckUtils]: 61: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,822 INFO L290 TraceCheckUtils]: 60: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,822 INFO L290 TraceCheckUtils]: 59: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,823 INFO L290 TraceCheckUtils]: 58: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,823 INFO L290 TraceCheckUtils]: 57: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,823 INFO L290 TraceCheckUtils]: 56: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,824 INFO L290 TraceCheckUtils]: 55: Hoare triple {17452#(<= (+ finddup_~i~1 4) finddup_~n)} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,824 INFO L290 TraceCheckUtils]: 54: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [167] L36-2-->L36-3: Formula: (= v_finddup_~i~1_7 (+ v_finddup_~i~1_8 1)) InVars {finddup_~i~1=v_finddup_~i~1_8} OutVars{finddup_~i~1=v_finddup_~i~1_7, finddup_#t~post8=|v_finddup_#t~post8_1|} AuxVars[] AssignedVars[finddup_~i~1, finddup_#t~post8] {17452#(<= (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,825 INFO L290 TraceCheckUtils]: 53: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [160] L37-3-->L36-2: Formula: (not (< v_finddup_~j~1_3 v_finddup_~n_4)) InVars {finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} OutVars{finddup_~n=v_finddup_~n_4, finddup_~j~1=v_finddup_~j~1_3} AuxVars[] AssignedVars[] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,825 INFO L290 TraceCheckUtils]: 52: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,825 INFO L290 TraceCheckUtils]: 51: Hoare triple {17610#(< (+ finddup_~i~1 4) finddup_~n)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,826 INFO L290 TraceCheckUtils]: 50: Hoare triple {17606#(<= (+ finddup_~i~1 4) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17610#(< (+ finddup_~i~1 4) finddup_~n)} is VALID [2022-04-07 18:11:42,826 INFO L290 TraceCheckUtils]: 49: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17606#(<= (+ finddup_~i~1 4) finddup_~j~1)} is VALID [2022-04-07 18:11:42,826 INFO L290 TraceCheckUtils]: 48: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:42,827 INFO L290 TraceCheckUtils]: 47: Hoare triple {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:42,827 INFO L290 TraceCheckUtils]: 46: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17451#(<= (+ finddup_~i~1 3) finddup_~j~1)} is VALID [2022-04-07 18:11:42,828 INFO L290 TraceCheckUtils]: 45: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:42,828 INFO L290 TraceCheckUtils]: 44: Hoare triple {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:42,828 INFO L290 TraceCheckUtils]: 43: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [174] L37-2-->L37-3: Formula: (= v_finddup_~j~1_6 (+ v_finddup_~j~1_7 1)) InVars {finddup_~j~1=v_finddup_~j~1_7} OutVars{finddup_#t~post9=|v_finddup_#t~post9_1|, finddup_~j~1=v_finddup_~j~1_6} AuxVars[] AssignedVars[finddup_~j~1, finddup_#t~post9] {17450#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-07 18:11:42,829 INFO L290 TraceCheckUtils]: 42: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [169] L38-->L37-2: Formula: (not (= |v_finddup_#t~mem11_5| |v_finddup_#t~mem10_5|)) InVars {finddup_#t~mem10=|v_finddup_#t~mem10_5|, finddup_#t~mem11=|v_finddup_#t~mem11_5|} OutVars{} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:42,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} [161] L37-3-->L38: Formula: (let ((.cse0 (select |v_#memory_int_1| v_finddup_~a.base_2))) (and (< v_finddup_~j~1_4 v_finddup_~n_5) (= (select .cse0 (+ (* v_finddup_~j~1_4 4) v_finddup_~a.offset_2)) |v_finddup_#t~mem11_1|) (= (select .cse0 (+ v_finddup_~a.offset_2 (* v_finddup_~i~1_5 4))) |v_finddup_#t~mem10_1|))) InVars {finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|} OutVars{finddup_~a.base=v_finddup_~a.base_2, finddup_~n=v_finddup_~n_5, finddup_~i~1=v_finddup_~i~1_5, finddup_#t~mem11=|v_finddup_#t~mem11_1|, finddup_~j~1=v_finddup_~j~1_4, finddup_~a.offset=v_finddup_~a.offset_2, #memory_int=|v_#memory_int_1|, finddup_#t~mem10=|v_finddup_#t~mem10_1|} AuxVars[] AssignedVars[finddup_#t~mem11, finddup_#t~mem10] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:42,829 INFO L290 TraceCheckUtils]: 40: Hoare triple {17360#true} [155] L36-3-->L37-3: Formula: (and (< v_finddup_~i~1_4 v_finddup_~n_3) (= v_finddup_~j~1_2 (+ v_finddup_~i~1_4 1))) InVars {finddup_~i~1=v_finddup_~i~1_4, finddup_~n=v_finddup_~n_3} OutVars{finddup_~n=v_finddup_~n_3, finddup_~i~1=v_finddup_~i~1_4, finddup_~j~1=v_finddup_~j~1_2} AuxVars[] AssignedVars[finddup_~j~1] {17449#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-07 18:11:42,829 INFO L290 TraceCheckUtils]: 39: Hoare triple {17360#true} [151] finddupENTRY-->L36-3: Formula: (and (= v_finddup_~a.base_1 |v_finddup_#in~a.base_1|) (= v_finddup_~_j.base_1 |v_finddup_#in~_j.base_1|) (= |v_finddup_#in~n_1| v_finddup_~n_1) (= |v_finddup_#in~_j.offset_1| v_finddup_~_j.offset_1) (= v_finddup_~i~1_1 0) (= v_finddup_~a.offset_1 |v_finddup_#in~a.offset_1|) (= v_finddup_~_i.offset_1 |v_finddup_#in~_i.offset_1|) (= |v_finddup_#in~_i.base_1| v_finddup_~_i.base_1)) InVars {finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_#in~n=|v_finddup_#in~n_1|} OutVars{finddup_~n=v_finddup_~n_1, finddup_~a.base=v_finddup_~a.base_1, finddup_~i~1=v_finddup_~i~1_1, finddup_#in~_i.offset=|v_finddup_#in~_i.offset_1|, finddup_~a.offset=v_finddup_~a.offset_1, finddup_#in~a.offset=|v_finddup_#in~a.offset_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offset_1|, finddup_~_j.offset=v_finddup_~_j.offset_1, finddup_#in~_j.base=|v_finddup_#in~_j.base_1|, finddup_#in~_i.base=|v_finddup_#in~_i.base_1|, finddup_~_j.base=v_finddup_~_j.base_1, finddup_~_i.base=v_finddup_~_i.base_1, finddup_#in~a.base=|v_finddup_#in~a.base_1|, finddup_~j~1=v_finddup_~j~1_1, finddup_~_i.offset=v_finddup_~_i.offset_1, finddup_#in~n=|v_finddup_#in~n_1|} AuxVars[] AssignedVars[finddup_~n, finddup_~a.base, finddup_~_j.offset, finddup_~_j.base, finddup_~i~1, finddup_~_i.base, finddup_~j~1, finddup_~a.offset, finddup_~_i.offset] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L272 TraceCheckUtils]: 38: Hoare triple {17360#true} [147] L57-->finddupENTRY: Formula: (and (= |v_main_~#i~2.base_9| |v_finddup_#in~_i.baseInParam_1|) (= |v_main_~#i~2.offset_9| |v_finddup_#in~_i.offsetInParam_1|) (= |v_finddup_#in~a.offsetInParam_1| v_main_~a~0.offset_7) (= |v_finddup_#in~a.baseInParam_1| v_main_~a~0.base_7) (= |v_finddup_#in~_j.baseInParam_1| |v_main_~#j~2.base_9|) (= v_main_~n~0_12 |v_finddup_#in~nInParam_1|) (= |v_main_~#j~2.offset_9| |v_finddup_#in~_j.offsetInParam_1|)) InVars {main_~#j~2.offset=|v_main_~#j~2.offset_9|, main_~#i~2.offset=|v_main_~#i~2.offset_9|, main_~a~0.base=v_main_~a~0.base_7, main_~#j~2.base=|v_main_~#j~2.base_9|, main_~n~0=v_main_~n~0_12, main_~#i~2.base=|v_main_~#i~2.base_9|, main_~a~0.offset=v_main_~a~0.offset_7} OutVars{finddup_#in~_i.base=|v_finddup_#in~_i.baseInParam_1|, finddup_#in~_j.base=|v_finddup_#in~_j.baseInParam_1|, finddup_#in~_i.offset=|v_finddup_#in~_i.offsetInParam_1|, finddup_#in~a.base=|v_finddup_#in~a.baseInParam_1|, finddup_#in~a.offset=|v_finddup_#in~a.offsetInParam_1|, finddup_#in~_j.offset=|v_finddup_#in~_j.offsetInParam_1|, finddup_#in~n=|v_finddup_#in~nInParam_1|} AuxVars[] AssignedVars[main_~#i~2.offset, finddup_#in~_i.offset, main_~a~0.base, main_~#j~2.base, finddup_#in~a.offset, finddup_#in~_j.offset, finddup_#in~_i.base, finddup_#in~_j.base, main_~#j~2.offset, finddup_#in~a.base, main_~n~0, main_~#i~2.base, main_~a~0.offset, finddup_#in~n] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 37: Hoare triple {17360#true} [142] L54-1-->L57: Formula: (let ((.cse0 (store |v_#valid_9| |v_main_~#i~2.base_5| 1))) (and (not (= |v_main_~#j~2.base_5| 0)) (= (select |v_#valid_9| |v_main_~#i~2.base_5|) 0) (= (store (store |v_#length_5| |v_main_~#i~2.base_5| 4) |v_main_~#j~2.base_5| 4) |v_#length_3|) (< |v_#StackHeapBarrier_2| |v_main_~#i~2.base_5|) (= |v_main_~#j~2.offset_5| 0) (= (select .cse0 |v_main_~#j~2.base_5|) 0) (= |v_#valid_7| (store .cse0 |v_main_~#j~2.base_5| 1)) (< |v_#StackHeapBarrier_2| |v_main_~#j~2.base_5|) (not (= |v_main_~#i~2.base_5| 0)) (= |v_main_~#i~2.offset_5| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_5|, #valid=|v_#valid_9|} OutVars{main_~#j~2.offset=|v_main_~#j~2.offset_5|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, main_~#i~2.offset=|v_main_~#i~2.offset_5|, #valid=|v_#valid_7|, main_~#j~2.base=|v_main_~#j~2.base_5|, #length=|v_#length_3|, main_~#i~2.base=|v_main_~#i~2.base_5|} AuxVars[] AssignedVars[main_~#j~2.offset, main_~#i~2.offset, #valid, main_~#j~2.base, #length, main_~#i~2.base] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {17360#true} {17360#true} [191] mkdupEXIT-->L54-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {17360#true} [149] mkdupFINAL-->mkdupEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 34: Hoare triple {17360#true} [146] L25-->mkdupFINAL: Formula: (and (<= |v_mkdup_#t~nondet7_2| 2147483647) (= |v_mkdup_#t~nondet7_2| v_mkdup_~x~0_1) (<= 0 (+ |v_mkdup_#t~nondet7_2| 2147483648)) (= (store |v_#memory_int_20| v_mkdup_~a.base_1 (store (store (select |v_#memory_int_20| v_mkdup_~a.base_1) (+ (* v_mkdup_~i~0_1 4) v_mkdup_~a.offset_1) v_mkdup_~x~0_1) (+ v_mkdup_~a.offset_1 (* v_mkdup_~j~0_1 4)) v_mkdup_~x~0_1)) |v_#memory_int_18|)) InVars {#memory_int=|v_#memory_int_20|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_#t~nondet7=|v_mkdup_#t~nondet7_2|, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} OutVars{#memory_int=|v_#memory_int_18|, mkdup_~a.offset=v_mkdup_~a.offset_1, mkdup_~j~0=v_mkdup_~j~0_1, mkdup_~x~0=v_mkdup_~x~0_1, mkdup_~a.base=v_mkdup_~a.base_1, mkdup_~i~0=v_mkdup_~i~0_1} AuxVars[] AssignedVars[#memory_int, mkdup_#t~nondet7, mkdup_~x~0] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17360#true} {17360#true} [189] assume_abort_if_notEXIT-->L25: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 32: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 31: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L272 TraceCheckUtils]: 29: Hoare triple {17360#true} [145] L24-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_4| (ite (not (= v_mkdup_~i~0_6 v_mkdup_~j~0_6)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_6, mkdup_~i~0=v_mkdup_~i~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_4|} AuxVars[] AssignedVars[mkdup_~j~0, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17360#true} {17360#true} [188] assume_abort_if_notEXIT-->L24: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 27: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,830 INFO L290 TraceCheckUtils]: 26: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L272 TraceCheckUtils]: 24: Hoare triple {17360#true} [144] L23-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_3| (ite (and (<= 0 v_mkdup_~j~0_5) (< v_mkdup_~j~0_5 v_mkdup_~n_5)) 1 0)) InVars {mkdup_~j~0=v_mkdup_~j~0_5, mkdup_~n=v_mkdup_~n_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[mkdup_~n, mkdup_~j~0, assume_abort_if_not_#in~cond] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17360#true} {17360#true} [187] assume_abort_if_notEXIT-->L23-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L272 TraceCheckUtils]: 19: Hoare triple {17360#true} [148] L23-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_mkdup_~i~0_5) (< v_mkdup_~i~0_5 v_mkdup_~n_4)) 1 0)) InVars {mkdup_~n=v_mkdup_~n_4, mkdup_~i~0=v_mkdup_~i~0_5} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[mkdup_~n, assume_abort_if_not_#in~cond, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {17360#true} [143] mkdupENTRY-->L23: Formula: (and (<= |v_mkdup_#t~nondet5_2| 2147483647) (<= 0 (+ |v_mkdup_#t~nondet5_2| 2147483648)) (<= |v_mkdup_#t~nondet6_2| 2147483647) (= v_mkdup_~a.base_2 |v_mkdup_#in~a.base_1|) (= |v_mkdup_#t~nondet5_2| v_mkdup_~i~0_2) (= v_mkdup_~a.offset_2 |v_mkdup_#in~a.offset_1|) (= |v_mkdup_#in~n_1| v_mkdup_~n_1) (= |v_mkdup_#t~nondet6_2| v_mkdup_~j~0_2) (<= 0 (+ |v_mkdup_#t~nondet6_2| 2147483648))) InVars {mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_#t~nondet5=|v_mkdup_#t~nondet5_2|, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_#t~nondet6=|v_mkdup_#t~nondet6_2|} OutVars{mkdup_#in~n=|v_mkdup_#in~n_1|, mkdup_#in~a.base=|v_mkdup_#in~a.base_1|, mkdup_~n=v_mkdup_~n_1, mkdup_#in~a.offset=|v_mkdup_#in~a.offset_1|, mkdup_~a.offset=v_mkdup_~a.offset_2, mkdup_~j~0=v_mkdup_~j~0_2, mkdup_~a.base=v_mkdup_~a.base_2, mkdup_~i~0=v_mkdup_~i~0_2} AuxVars[] AssignedVars[mkdup_~n, mkdup_#t~nondet5, mkdup_~a.offset, mkdup_#t~nondet6, mkdup_~j~0, mkdup_~a.base, mkdup_~i~0] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L272 TraceCheckUtils]: 17: Hoare triple {17360#true} [140] L54-->mkdupENTRY: Formula: (and (= v_main_~n~0_11 |v_mkdup_#in~nInParam_1|) (= v_main_~a~0.base_6 |v_mkdup_#in~a.baseInParam_1|) (= |v_mkdup_#in~a.offsetInParam_1| v_main_~a~0.offset_6)) InVars {main_~a~0.base=v_main_~a~0.base_6, main_~n~0=v_main_~n~0_11, main_~a~0.offset=v_main_~a~0.offset_6} OutVars{mkdup_#in~a.base=|v_mkdup_#in~a.baseInParam_1|, mkdup_#in~n=|v_mkdup_#in~nInParam_1|, mkdup_#in~a.offset=|v_mkdup_#in~a.offsetInParam_1|} AuxVars[] AssignedVars[mkdup_#in~a.base, mkdup_#in~n, main_~a~0.base, mkdup_#in~a.offset, main_~n~0, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {17360#true} [137] L52-1-->L54: Formula: (and (= v_main_~a~0.offset_3 |v_main_#t~malloc13.offset_3|) (= v_main_~a~0.base_3 |v_main_#t~malloc13.base_3|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|} OutVars{main_~a~0.base=v_main_~a~0.base_3, main_#t~malloc13.base=|v_main_#t~malloc13.base_3|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_3|, main_~a~0.offset=v_main_~a~0.offset_3} AuxVars[] AssignedVars[main_~a~0.base, main_~a~0.offset] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {17360#true} {17360#true} [190] #Ultimate.meminitEXIT-->L52-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {17360#true} [141] #Ultimate.meminitFINAL-->#Ultimate.meminitEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {17360#true} [138] #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] {17360#true} is VALID [2022-04-07 18:11:42,831 INFO L272 TraceCheckUtils]: 12: Hoare triple {17360#true} [134] L52-->#Ultimate.meminitENTRY: Formula: (and (= |v_#Ultimate.meminit_#sizeOfFieldsInParam_1| 4) (= |v_#Ultimate.meminit_#productInParam_1| (* v_main_~n~0_10 4)) (= |v_#Ultimate.meminit_#ptr.offsetInParam_1| |v_main_#t~malloc13.offset_4|) (= |v_#Ultimate.meminit_#ptr.baseInParam_1| |v_main_#t~malloc13.base_4|) (= v_main_~n~0_10 |v_#Ultimate.meminit_#amountOfFieldsInParam_1|)) InVars {main_#t~malloc13.base=|v_main_#t~malloc13.base_4|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_4|, main_~n~0=v_main_~n~0_10} 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[#Ultimate.meminit_#sizeOfFields, #Ultimate.meminit_#amountOfFields, main_#t~malloc13.base, main_#t~malloc13.offset, #Ultimate.meminit_#product, main_~n~0, #Ultimate.meminit_#ptr.base, #Ultimate.meminit_#ptr.offset] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 11: Hoare triple {17360#true} [132] L51-1-->L52: Formula: (and (not (= 0 |v_main_#t~malloc13.base_1|)) (< |v_main_#t~malloc13.base_1| |v_#StackHeapBarrier_1|) (= |v_main_#t~malloc13.offset_1| 0) (= |v_#valid_5| (store |v_#valid_6| |v_main_#t~malloc13.base_1| 1)) (= (store |v_#length_2| |v_main_#t~malloc13.base_1| (* v_main_~n~0_3 4)) |v_#length_1|) (= (select |v_#valid_6| |v_main_#t~malloc13.base_1|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_2|, main_~n~0=v_main_~n~0_3, #valid=|v_#valid_6|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_5|, main_#t~malloc13.base=|v_main_#t~malloc13.base_1|, main_#t~malloc13.offset=|v_main_#t~malloc13.offset_1|, #length=|v_#length_1|, main_~n~0=v_main_~n~0_3} AuxVars[] AssignedVars[#valid, main_#t~malloc13.base, main_#t~malloc13.offset, #length] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17360#true} {17360#true} [186] assume_abort_if_notEXIT-->L51-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 9: Hoare triple {17360#true} [139] L16-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {17360#true} [136] L16-->L16-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[] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {17360#true} [133] assume_abort_if_notENTRY-->L16: 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] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L272 TraceCheckUtils]: 6: Hoare triple {17360#true} [131] L51-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= 0 v_main_~n~0_9) (< v_main_~n~0_9 1073741824)) 1 0)) InVars {main_~n~0=v_main_~n~0_9} 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] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 5: Hoare triple {17360#true} [129] mainENTRY-->L51: Formula: (and (= v_main_~n~0_1 |v_main_#t~nondet12_2|) (<= 0 (+ |v_main_#t~nondet12_2| 2147483648)) (<= |v_main_#t~nondet12_2| 2147483647)) InVars {main_#t~nondet12=|v_main_#t~nondet12_2|} OutVars{main_~n~0=v_main_~n~0_1} AuxVars[] AssignedVars[main_~n~0, main_#t~nondet12] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {17360#true} [126] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17360#true} {17360#true} [185] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {17360#true} [130] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {17360#true} [127] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_17| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_10| 0) 0) (= (select |v_#valid_10| 2) 1) (= (select |v_#valid_10| 3) 1) (< 0 |v_#StackHeapBarrier_3|) (= |v_#NULL.base_1| 0) (= (select |v_#valid_10| 1) 1) (= (select |v_#length_6| 1) 2) (= (select |v_#length_6| 3) 12) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0) (= (select |v_#length_6| 2) 10))) InVars {#memory_int=|v_#memory_int_17|, #StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_10|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #valid=|v_#valid_10|, #memory_int=|v_#memory_int_17|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_6|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] {17360#true} is VALID [2022-04-07 18:11:42,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {17360#true} [125] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17360#true} is VALID [2022-04-07 18:11:42,833 INFO L134 CoverageAnalysis]: Checked inductivity of 183 backedges. 51 proven. 89 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-07 18:11:42,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [839105133] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 18:11:42,833 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-07 18:11:42,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 13 [2022-04-07 18:11:42,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [226756531] [2022-04-07 18:11:42,833 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-07 18:11:42,834 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 88 [2022-04-07 18:11:42,835 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 18:11:42,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:11:42,887 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:11:42,887 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-07 18:11:42,887 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 18:11:42,888 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-07 18:11:42,888 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-07 18:11:42,888 INFO L87 Difference]: Start difference. First operand 102 states and 114 transitions. Second operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:11:43,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:11:43,627 INFO L93 Difference]: Finished difference Result 73 states and 77 transitions. [2022-04-07 18:11:43,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-07 18:11:43,628 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 88 [2022-04-07 18:11:43,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 18:11:43,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:11:43,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 63 transitions. [2022-04-07 18:11:43,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:11:43,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 63 transitions. [2022-04-07 18:11:43,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 63 transitions. [2022-04-07 18:11:43,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 18:11:43,704 INFO L225 Difference]: With dead ends: 73 [2022-04-07 18:11:43,704 INFO L226 Difference]: Without dead ends: 0 [2022-04-07 18:11:43,705 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 187 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=206, Invalid=496, Unknown=0, NotChecked=0, Total=702 [2022-04-07 18:11:43,705 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 41 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 287 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 287 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-07 18:11:43,705 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 40 Invalid, 333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 287 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-07 18:11:43,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-07 18:11:43,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-07 18:11:43,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 18:11:43,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 18:11:43,706 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 18:11:43,706 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 18:11:43,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:11:43,706 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 18:11:43,707 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 18:11:43,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:11:43,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:11:43,707 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-07 18:11:43,707 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-07 18:11:43,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 18:11:43,707 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 18:11:43,707 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 18:11:43,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:11:43,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 18:11:43,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 18:11:43,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 18:11:43,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-07 18:11:43,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-07 18:11:43,708 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 88 [2022-04-07 18:11:43,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 18:11:43,708 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-07 18:11:43,708 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 11 states have internal predecessors, (62), 2 states have call successors, (14), 4 states have call predecessors, (14), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-07 18:11:43,708 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 18:11:43,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 18:11:43,711 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 18:11:43,738 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-07 18:11:43,911 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 18:11:43,915 INFO L719 BasicCegarLoop]: Path program histogram: [7, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 18:11:43,916 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 18:11:43,919 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 06:11:43 BasicIcfg [2022-04-07 18:11:43,919 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 18:11:43,920 INFO L158 Benchmark]: Toolchain (without parser) took 724322.48ms. Allocated memory was 186.6MB in the beginning and 349.2MB in the end (delta: 162.5MB). Free memory was 128.2MB in the beginning and 275.7MB in the end (delta: -147.5MB). Peak memory consumption was 15.8MB. Max. memory is 8.0GB. [2022-04-07 18:11:43,920 INFO L158 Benchmark]: CDTParser took 0.13ms. Allocated memory is still 186.6MB. Free memory is still 145.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 18:11:43,920 INFO L158 Benchmark]: CACSL2BoogieTranslator took 363.41ms. Allocated memory was 186.6MB in the beginning and 285.2MB in the end (delta: 98.6MB). Free memory was 128.1MB in the beginning and 254.4MB in the end (delta: -126.3MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-07 18:11:43,920 INFO L158 Benchmark]: Boogie Preprocessor took 52.63ms. Allocated memory is still 285.2MB. Free memory was 254.4MB in the beginning and 252.3MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-07 18:11:43,921 INFO L158 Benchmark]: RCFGBuilder took 514.78ms. Allocated memory is still 285.2MB. Free memory was 252.3MB in the beginning and 235.0MB in the end (delta: 17.3MB). Peak memory consumption was 17.8MB. Max. memory is 8.0GB. [2022-04-07 18:11:43,921 INFO L158 Benchmark]: IcfgTransformer took 64.80ms. Allocated memory is still 285.2MB. Free memory was 235.0MB in the beginning and 232.4MB in the end (delta: 2.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-07 18:11:43,925 INFO L158 Benchmark]: TraceAbstraction took 723318.12ms. Allocated memory was 285.2MB in the beginning and 349.2MB in the end (delta: 64.0MB). Free memory was 231.9MB in the beginning and 275.7MB in the end (delta: -43.8MB). Peak memory consumption was 21.2MB. Max. memory is 8.0GB. [2022-04-07 18:11:43,925 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.13ms. Allocated memory is still 186.6MB. Free memory is still 145.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 363.41ms. Allocated memory was 186.6MB in the beginning and 285.2MB in the end (delta: 98.6MB). Free memory was 128.1MB in the beginning and 254.4MB in the end (delta: -126.3MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 52.63ms. Allocated memory is still 285.2MB. Free memory was 254.4MB in the beginning and 252.3MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 514.78ms. Allocated memory is still 285.2MB. Free memory was 252.3MB in the beginning and 235.0MB in the end (delta: 17.3MB). Peak memory consumption was 17.8MB. Max. memory is 8.0GB. * IcfgTransformer took 64.80ms. Allocated memory is still 285.2MB. Free memory was 235.0MB in the beginning and 232.4MB in the end (delta: 2.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 723318.12ms. Allocated memory was 285.2MB in the beginning and 349.2MB in the end (delta: 64.0MB). Free memory was 231.9MB in the beginning and 275.7MB in the end (delta: -43.8MB). Peak memory consumption was 21.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 10]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 59 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 723.3s, OverallIterations: 23, TraceHistogramMax: 8, PathProgramHistogramMax: 7, EmptinessCheckTime: 0.0s, AutomataDifference: 382.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 2252 SdHoareTripleChecker+Valid, 21.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 2138 mSDsluCounter, 3241 SdHoareTripleChecker+Invalid, 21.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 2445 IncrementalHoareTripleChecker+Unchecked, 2168 mSDsCounter, 1624 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 16123 IncrementalHoareTripleChecker+Invalid, 20192 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 1624 mSolverCounterUnsat, 1073 mSDtfsCounter, 16123 mSolverCounterSat, 0.2s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 3112 GetRequests, 2178 SyntacticMatches, 51 SemanticMatches, 883 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 15886 ImplicationChecksByTransitivity, 485.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=139occurred in iteration=16, InterpolantAutomatonStates: 513, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.4s AutomataMinimizationTime, 23 MinimizatonAttempts, 205 StatesRemovedByMinimization, 21 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.2s SsaConstructionTime, 1.0s SatisfiabilityAnalysisTime, 306.1s InterpolantComputationTime, 2726 NumberOfCodeBlocks, 2694 NumberOfCodeBlocksAsserted, 58 NumberOfCheckSat, 3351 ConstructedInterpolants, 160 QuantifiedInterpolants, 37768 SizeOfPredicates, 212 NumberOfNonLiveVariables, 4622 ConjunctsInSsa, 737 ConjunctsInUnsatCore, 50 InterpolantComputations, 9 PerfectInterpolantSequences, 2040/2875 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2022-04-07 18:11:44,137 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-07 18:11:44,205 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 137 Received shutdown request...