./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memcleanup.prp --file ../sv-benchmarks/c/list-properties/list_search-2.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (memcleanup) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-properties/list_search-2.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-memcleanup) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b1ea7ddff382751fa0e11562333bdb4981cac7bdbf1d356a007804e7e2e5a289 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:15,706 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:15,707 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:15,740 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:15,740 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:15,743 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:15,744 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:15,746 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:15,747 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:15,750 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:15,751 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:15,752 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:15,752 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:15,753 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:15,754 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:15,757 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:15,757 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:15,758 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:15,759 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:15,763 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:15,764 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:15,765 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:15,766 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:15,766 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:15,771 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:15,771 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:15,771 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:15,772 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:15,772 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:15,773 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:15,773 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:15,774 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:15,775 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:15,776 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:15,777 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:15,777 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:15,778 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:15,778 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:15,778 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:15,778 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:15,779 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:15,779 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Default.epf [2022-02-20 23:37:15,800 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:15,801 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:15,801 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:15,801 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:15,802 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:15,802 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:15,802 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:15,802 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:15,803 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:15,803 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:15,803 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:15,803 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:15,804 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:15,805 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:15,805 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:15,805 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:15,805 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:15,805 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:15,805 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:15,805 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:15,805 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:15,806 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:37:15,807 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:37:15,807 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-memcleanup) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> b1ea7ddff382751fa0e11562333bdb4981cac7bdbf1d356a007804e7e2e5a289 [2022-02-20 23:37:15,986 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:16,015 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:16,016 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:16,017 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:16,018 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:16,019 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-properties/list_search-2.i [2022-02-20 23:37:16,066 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbff68f56/a75a70957ecf4de284dc3542312253d4/FLAG7dcd8603b [2022-02-20 23:37:16,492 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:16,492 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-2.i [2022-02-20 23:37:16,503 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbff68f56/a75a70957ecf4de284dc3542312253d4/FLAG7dcd8603b [2022-02-20 23:37:16,513 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbff68f56/a75a70957ecf4de284dc3542312253d4 [2022-02-20 23:37:16,514 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:16,515 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:16,522 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:16,522 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:16,525 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:16,526 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:16" (1/1) ... [2022-02-20 23:37:16,526 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4577e00b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:16, skipping insertion in model container [2022-02-20 23:37:16,526 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:16" (1/1) ... [2022-02-20 23:37:16,532 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:16,576 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:16,765 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-2.i[813,826] [2022-02-20 23:37:16,971 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:16,977 ERROR L326 MainTranslator]: Unsupported Syntax: Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) [2022-02-20 23:37:16,977 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@ecd1a18 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:16, skipping insertion in model container [2022-02-20 23:37:16,977 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:16,977 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:37:16,979 INFO L158 Benchmark]: Toolchain (without parser) took 463.03ms. Allocated memory is still 115.3MB. Free memory was 78.6MB in the beginning and 85.2MB in the end (delta: -6.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 23:37:16,979 INFO L158 Benchmark]: CDTParser took 0.24ms. Allocated memory is still 115.3MB. Free memory was 88.3MB in the beginning and 88.3MB in the end (delta: 27.1kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:37:16,980 INFO L158 Benchmark]: CACSL2BoogieTranslator took 455.74ms. Allocated memory is still 115.3MB. Free memory was 78.6MB in the beginning and 85.9MB in the end (delta: -7.4MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 23:37:16,981 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.24ms. Allocated memory is still 115.3MB. Free memory was 88.3MB in the beginning and 88.3MB in the end (delta: 27.1kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 455.74ms. Allocated memory is still 115.3MB. Free memory was 78.6MB in the beginning and 85.9MB in the end (delta: -7.4MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 792]: Unsupported Syntax Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-properties/list_search-2.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-memcleanup) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash b1ea7ddff382751fa0e11562333bdb4981cac7bdbf1d356a007804e7e2e5a289 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:18,492 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:18,494 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:18,517 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:18,517 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:18,519 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:18,521 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:18,525 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:18,527 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:18,530 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:18,531 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:18,532 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:18,532 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:18,533 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:18,534 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:18,537 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:18,538 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:18,538 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:18,541 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:18,545 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:18,546 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:18,547 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:18,548 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:18,549 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:18,554 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:18,554 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:18,554 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:18,555 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:18,555 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:18,556 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:18,556 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:18,557 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:18,558 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:18,558 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:18,559 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:18,559 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:18,560 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:18,560 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:18,560 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:18,561 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:18,561 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:18,564 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Bitvector.epf [2022-02-20 23:37:18,595 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:18,596 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:18,597 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:18,597 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:18,597 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:18,597 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:18,598 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:18,599 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:18,599 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:18,599 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:18,599 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:18,600 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:18,601 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:18,601 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:37:18,601 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:37:18,601 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:18,601 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:18,601 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:18,601 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:18,602 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:18,602 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:18,602 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:18,602 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:18,602 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:37:18,602 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:18,603 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:37:18,603 INFO L138 SettingsManager]: * Logic for external solver=AUFBV 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-memcleanup) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> b1ea7ddff382751fa0e11562333bdb4981cac7bdbf1d356a007804e7e2e5a289 [2022-02-20 23:37:18,857 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:18,876 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:18,878 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:18,879 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:18,880 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:18,882 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-properties/list_search-2.i [2022-02-20 23:37:18,927 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/32bfcdad9/d6aa838b701c418c933778f703d3df97/FLAG02249afc6 [2022-02-20 23:37:19,342 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:19,343 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-2.i [2022-02-20 23:37:19,354 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/32bfcdad9/d6aa838b701c418c933778f703d3df97/FLAG02249afc6 [2022-02-20 23:37:19,707 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/32bfcdad9/d6aa838b701c418c933778f703d3df97 [2022-02-20 23:37:19,709 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:19,710 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:19,713 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:19,713 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:19,718 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:19,718 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:19" (1/1) ... [2022-02-20 23:37:19,719 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@325745b5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:19, skipping insertion in model container [2022-02-20 23:37:19,719 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:19" (1/1) ... [2022-02-20 23:37:19,723 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:19,759 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:19,884 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-2.i[813,826] [2022-02-20 23:37:20,010 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:20,021 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:37:20,029 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:20,031 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-2.i[813,826] [2022-02-20 23:37:20,053 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:20,057 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:37:20,064 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-properties/list_search-2.i[813,826] [2022-02-20 23:37:20,087 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:20,128 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:37:20,129 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20 WrapperNode [2022-02-20 23:37:20,129 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:20,129 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:20,130 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:37:20,130 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:37:20,133 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,145 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,162 INFO L137 Inliner]: procedures = 229, calls = 29, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 100 [2022-02-20 23:37:20,162 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:20,163 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:37:20,163 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:37:20,163 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:37:20,167 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,167 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,170 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,170 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,179 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,181 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,183 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,185 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:37:20,185 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:37:20,185 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:37:20,185 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:37:20,186 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (1/1) ... [2022-02-20 23:37:20,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:20,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:20,207 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-02-20 23:37:20,217 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-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:37:20,246 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:37:20,247 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:37:20,247 INFO L130 BoogieDeclarations]: Found specification of procedure insert_list [2022-02-20 23:37:20,247 INFO L138 BoogieDeclarations]: Found implementation of procedure insert_list [2022-02-20 23:37:20,247 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:37:20,247 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:37:20,318 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:37:20,320 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:37:20,617 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:37:20,622 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:37:20,622 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 23:37:20,624 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:20 BoogieIcfgContainer [2022-02-20 23:37:20,624 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:37:20,625 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:37:20,625 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:37:20,627 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:37:20,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:37:19" (1/3) ... [2022-02-20 23:37:20,628 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@370facf0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:20, skipping insertion in model container [2022-02-20 23:37:20,628 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:20" (2/3) ... [2022-02-20 23:37:20,628 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@370facf0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:20, skipping insertion in model container [2022-02-20 23:37:20,628 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:20" (3/3) ... [2022-02-20 23:37:20,629 INFO L111 eAbstractionObserver]: Analyzing ICFG list_search-2.i [2022-02-20 23:37:20,632 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:37:20,632 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 33 error locations. [2022-02-20 23:37:20,662 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:37:20,667 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=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, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 23:37:20,667 INFO L340 AbstractCegarLoop]: Starting to check reachability of 33 error locations. [2022-02-20 23:37:20,684 INFO L276 IsEmpty]: Start isEmpty. Operand has 91 states, 52 states have (on average 1.8653846153846154) internal successors, (97), 85 states have internal predecessors, (97), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:20,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:37:20,689 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:20,689 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:37:20,689 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting insert_listErr0REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:20,695 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:20,696 INFO L85 PathProgramCache]: Analyzing trace with hash 1514693702, now seen corresponding path program 1 times [2022-02-20 23:37:20,704 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:20,705 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [6709428] [2022-02-20 23:37:20,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:20,706 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:20,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:20,708 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:20,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 23:37:20,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:20,803 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:37:20,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:20,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:20,889 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:37:20,908 INFO L290 TraceCheckUtils]: 0: Hoare triple {94#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {94#true} is VALID [2022-02-20 23:37:20,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {94#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {94#true} is VALID [2022-02-20 23:37:20,909 INFO L272 TraceCheckUtils]: 2: Hoare triple {94#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {94#true} is VALID [2022-02-20 23:37:20,911 INFO L290 TraceCheckUtils]: 3: Hoare triple {94#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {108#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:20,911 INFO L290 TraceCheckUtils]: 4: Hoare triple {108#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {108#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:20,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {108#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume !(1bv1 == #valid[~l.base]); {95#false} is VALID [2022-02-20 23:37:20,913 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:20,913 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:20,913 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:20,914 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [6709428] [2022-02-20 23:37:20,914 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [6709428] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:20,914 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:20,914 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:20,915 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [39728916] [2022-02-20 23:37:20,916 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:20,920 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:20,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:20,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:20,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:20,931 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:20,932 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:20,957 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:20,958 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:20,960 INFO L87 Difference]: Start difference. First operand has 91 states, 52 states have (on average 1.8653846153846154) internal successors, (97), 85 states have internal predecessors, (97), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:21,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:21,269 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-02-20 23:37:21,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:21,269 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:21,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:21,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:21,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-02-20 23:37:21,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:21,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-02-20 23:37:21,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-02-20 23:37:21,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:21,425 INFO L225 Difference]: With dead ends: 87 [2022-02-20 23:37:21,426 INFO L226 Difference]: Without dead ends: 85 [2022-02-20 23:37:21,427 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:21,430 INFO L933 BasicCegarLoop]: 87 mSDtfsCounter, 11 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:21,431 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 140 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:21,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-02-20 23:37:21,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 85. [2022-02-20 23:37:21,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:21,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 85 states, 51 states have (on average 1.6862745098039216) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:21,459 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 85 states, 51 states have (on average 1.6862745098039216) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:21,461 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 85 states, 51 states have (on average 1.6862745098039216) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:21,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:21,468 INFO L93 Difference]: Finished difference Result 85 states and 94 transitions. [2022-02-20 23:37:21,468 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 94 transitions. [2022-02-20 23:37:21,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:21,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:21,471 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 51 states have (on average 1.6862745098039216) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 85 states. [2022-02-20 23:37:21,471 INFO L87 Difference]: Start difference. First operand has 85 states, 51 states have (on average 1.6862745098039216) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 85 states. [2022-02-20 23:37:21,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:21,476 INFO L93 Difference]: Finished difference Result 85 states and 94 transitions. [2022-02-20 23:37:21,476 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 94 transitions. [2022-02-20 23:37:21,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:21,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:21,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:21,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:21,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 51 states have (on average 1.6862745098039216) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:21,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 94 transitions. [2022-02-20 23:37:21,485 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 94 transitions. Word has length 6 [2022-02-20 23:37:21,485 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:21,485 INFO L470 AbstractCegarLoop]: Abstraction has 85 states and 94 transitions. [2022-02-20 23:37:21,485 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:21,486 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 94 transitions. [2022-02-20 23:37:21,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:37:21,486 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:21,487 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:37:21,496 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:21,693 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:21,694 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting insert_listErr1REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:21,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:21,694 INFO L85 PathProgramCache]: Analyzing trace with hash 1514693703, now seen corresponding path program 1 times [2022-02-20 23:37:21,695 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:21,695 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [420924742] [2022-02-20 23:37:21,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:21,695 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:21,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:21,697 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:21,698 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 23:37:21,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:21,743 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:37:21,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:21,752 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:21,771 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-02-20 23:37:21,791 INFO L290 TraceCheckUtils]: 0: Hoare triple {456#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {456#true} is VALID [2022-02-20 23:37:21,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {456#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {456#true} is VALID [2022-02-20 23:37:21,792 INFO L272 TraceCheckUtils]: 2: Hoare triple {456#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {456#true} is VALID [2022-02-20 23:37:21,793 INFO L290 TraceCheckUtils]: 3: Hoare triple {456#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {470#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:21,793 INFO L290 TraceCheckUtils]: 4: Hoare triple {470#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {470#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:21,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {470#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !((~bvule32(~bvadd32(4bv32, ~l.offset), #length[~l.base]) && ~bvule32(~l.offset, ~bvadd32(4bv32, ~l.offset))) && ~bvule32(0bv32, ~l.offset)); {457#false} is VALID [2022-02-20 23:37:21,794 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:21,794 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:21,795 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:21,795 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [420924742] [2022-02-20 23:37:21,795 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [420924742] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:21,795 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:21,795 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:21,796 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1005785077] [2022-02-20 23:37:21,796 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:21,797 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:21,797 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:21,797 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:21,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:21,804 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:21,804 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:21,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:21,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:21,805 INFO L87 Difference]: Start difference. First operand 85 states and 94 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:22,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:22,069 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-02-20 23:37:22,069 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:22,069 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:22,069 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:22,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:22,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 94 transitions. [2022-02-20 23:37:22,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:22,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 94 transitions. [2022-02-20 23:37:22,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 94 transitions. [2022-02-20 23:37:22,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:22,162 INFO L225 Difference]: With dead ends: 81 [2022-02-20 23:37:22,162 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 23:37:22,163 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:22,163 INFO L933 BasicCegarLoop]: 85 mSDtfsCounter, 7 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:22,164 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 141 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:22,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 23:37:22,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-02-20 23:37:22,167 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:22,167 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 51 states have (on average 1.607843137254902) internal successors, (82), 75 states have internal predecessors, (82), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:22,168 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 51 states have (on average 1.607843137254902) internal successors, (82), 75 states have internal predecessors, (82), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:22,168 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 51 states have (on average 1.607843137254902) internal successors, (82), 75 states have internal predecessors, (82), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:22,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:22,171 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-02-20 23:37:22,171 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2022-02-20 23:37:22,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:22,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:22,172 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 51 states have (on average 1.607843137254902) internal successors, (82), 75 states have internal predecessors, (82), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 81 states. [2022-02-20 23:37:22,172 INFO L87 Difference]: Start difference. First operand has 81 states, 51 states have (on average 1.607843137254902) internal successors, (82), 75 states have internal predecessors, (82), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 81 states. [2022-02-20 23:37:22,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:22,174 INFO L93 Difference]: Finished difference Result 81 states and 90 transitions. [2022-02-20 23:37:22,174 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2022-02-20 23:37:22,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:22,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:22,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:22,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:22,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 51 states have (on average 1.607843137254902) internal successors, (82), 75 states have internal predecessors, (82), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:22,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 90 transitions. [2022-02-20 23:37:22,178 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 90 transitions. Word has length 6 [2022-02-20 23:37:22,178 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:22,178 INFO L470 AbstractCegarLoop]: Abstraction has 81 states and 90 transitions. [2022-02-20 23:37:22,178 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:22,178 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 90 transitions. [2022-02-20 23:37:22,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 23:37:22,179 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:22,179 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:22,195 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:22,386 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:22,386 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:22,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:22,387 INFO L85 PathProgramCache]: Analyzing trace with hash 1345131113, now seen corresponding path program 1 times [2022-02-20 23:37:22,388 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:22,388 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1100199748] [2022-02-20 23:37:22,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:22,388 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:22,389 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:22,389 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:22,401 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 23:37:22,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:22,519 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:37:22,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:22,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:22,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {800#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {800#true} is VALID [2022-02-20 23:37:22,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {800#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {800#true} is VALID [2022-02-20 23:37:22,772 INFO L272 TraceCheckUtils]: 2: Hoare triple {800#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {800#true} is VALID [2022-02-20 23:37:22,772 INFO L290 TraceCheckUtils]: 3: Hoare triple {800#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,773 INFO L290 TraceCheckUtils]: 4: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,774 INFO L290 TraceCheckUtils]: 6: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {827#(not (= (_ bv0 32) ~head~0.base))} assume true; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,781 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {827#(not (= (_ bv0 32) ~head~0.base))} {800#true} #160#return; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,782 INFO L290 TraceCheckUtils]: 10: Hoare triple {827#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret39#1; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,782 INFO L272 TraceCheckUtils]: 11: Hoare triple {827#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {840#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 23:37:22,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {840#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {840#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 23:37:22,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {840#(= |old(~head~0.base)| ~head~0.base)} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} assume true; {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,786 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {847#(= |old(~head~0.base)| (_ bv0 32))} {827#(not (= (_ bv0 32) ~head~0.base))} #162#return; {801#false} is VALID [2022-02-20 23:37:22,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {801#false} havoc main_#t~ret40#1; {801#false} is VALID [2022-02-20 23:37:22,787 INFO L272 TraceCheckUtils]: 20: Hoare triple {801#false} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {801#false} is VALID [2022-02-20 23:37:22,787 INFO L290 TraceCheckUtils]: 21: Hoare triple {801#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {801#false} is VALID [2022-02-20 23:37:22,787 INFO L290 TraceCheckUtils]: 22: Hoare triple {801#false} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {801#false} is VALID [2022-02-20 23:37:22,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {801#false} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {801#false} is VALID [2022-02-20 23:37:22,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {801#false} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {801#false} is VALID [2022-02-20 23:37:22,787 INFO L290 TraceCheckUtils]: 25: Hoare triple {801#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {801#false} is VALID [2022-02-20 23:37:22,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {801#false} assume true; {801#false} is VALID [2022-02-20 23:37:22,788 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {801#false} {801#false} #164#return; {801#false} is VALID [2022-02-20 23:37:22,788 INFO L290 TraceCheckUtils]: 28: Hoare triple {801#false} havoc main_#t~ret41#1; {801#false} is VALID [2022-02-20 23:37:22,788 INFO L272 TraceCheckUtils]: 29: Hoare triple {801#false} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {801#false} is VALID [2022-02-20 23:37:22,788 INFO L290 TraceCheckUtils]: 30: Hoare triple {801#false} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {801#false} is VALID [2022-02-20 23:37:22,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {801#false} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {801#false} is VALID [2022-02-20 23:37:22,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {801#false} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {801#false} is VALID [2022-02-20 23:37:22,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {801#false} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {801#false} is VALID [2022-02-20 23:37:22,789 INFO L290 TraceCheckUtils]: 34: Hoare triple {801#false} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {801#false} is VALID [2022-02-20 23:37:22,789 INFO L290 TraceCheckUtils]: 35: Hoare triple {801#false} assume true; {801#false} is VALID [2022-02-20 23:37:22,789 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {801#false} {801#false} #166#return; {801#false} is VALID [2022-02-20 23:37:22,789 INFO L290 TraceCheckUtils]: 37: Hoare triple {801#false} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {801#false} is VALID [2022-02-20 23:37:22,789 INFO L290 TraceCheckUtils]: 38: Hoare triple {801#false} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {801#false} is VALID [2022-02-20 23:37:22,789 INFO L290 TraceCheckUtils]: 39: Hoare triple {801#false} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {801#false} is VALID [2022-02-20 23:37:22,790 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 29 proven. 6 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:22,790 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:22,970 INFO L290 TraceCheckUtils]: 39: Hoare triple {801#false} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {801#false} is VALID [2022-02-20 23:37:22,970 INFO L290 TraceCheckUtils]: 38: Hoare triple {801#false} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {801#false} is VALID [2022-02-20 23:37:22,971 INFO L290 TraceCheckUtils]: 37: Hoare triple {801#false} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {801#false} is VALID [2022-02-20 23:37:22,971 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {800#true} {801#false} #166#return; {801#false} is VALID [2022-02-20 23:37:22,971 INFO L290 TraceCheckUtils]: 35: Hoare triple {800#true} assume true; {800#true} is VALID [2022-02-20 23:37:22,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {800#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {800#true} is VALID [2022-02-20 23:37:22,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {800#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {800#true} is VALID [2022-02-20 23:37:22,973 INFO L290 TraceCheckUtils]: 32: Hoare triple {800#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {800#true} is VALID [2022-02-20 23:37:22,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {800#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {800#true} is VALID [2022-02-20 23:37:22,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {800#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {800#true} is VALID [2022-02-20 23:37:22,974 INFO L272 TraceCheckUtils]: 29: Hoare triple {801#false} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {800#true} is VALID [2022-02-20 23:37:22,974 INFO L290 TraceCheckUtils]: 28: Hoare triple {801#false} havoc main_#t~ret41#1; {801#false} is VALID [2022-02-20 23:37:22,974 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {800#true} {801#false} #164#return; {801#false} is VALID [2022-02-20 23:37:22,974 INFO L290 TraceCheckUtils]: 26: Hoare triple {800#true} assume true; {800#true} is VALID [2022-02-20 23:37:22,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {800#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {800#true} is VALID [2022-02-20 23:37:22,974 INFO L290 TraceCheckUtils]: 24: Hoare triple {800#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {800#true} is VALID [2022-02-20 23:37:22,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {800#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {800#true} is VALID [2022-02-20 23:37:22,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {800#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {800#true} is VALID [2022-02-20 23:37:22,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {800#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {800#true} is VALID [2022-02-20 23:37:22,976 INFO L272 TraceCheckUtils]: 20: Hoare triple {801#false} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {800#true} is VALID [2022-02-20 23:37:22,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {801#false} havoc main_#t~ret40#1; {801#false} is VALID [2022-02-20 23:37:22,977 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {847#(= |old(~head~0.base)| (_ bv0 32))} {827#(not (= (_ bv0 32) ~head~0.base))} #162#return; {801#false} is VALID [2022-02-20 23:37:22,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} assume true; {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,980 INFO L290 TraceCheckUtils]: 14: Hoare triple {847#(= |old(~head~0.base)| (_ bv0 32))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {1007#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {847#(= |old(~head~0.base)| (_ bv0 32))} is VALID [2022-02-20 23:37:22,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {1007#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {1007#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:22,982 INFO L272 TraceCheckUtils]: 11: Hoare triple {827#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {1007#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:22,982 INFO L290 TraceCheckUtils]: 10: Hoare triple {827#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret39#1; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,983 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {827#(not (= (_ bv0 32) ~head~0.base))} {800#true} #160#return; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {827#(not (= (_ bv0 32) ~head~0.base))} assume true; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,984 INFO L290 TraceCheckUtils]: 7: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {827#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:22,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,987 INFO L290 TraceCheckUtils]: 4: Hoare triple {814#(not (= insert_list_~l.base (_ bv0 32)))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,988 INFO L290 TraceCheckUtils]: 3: Hoare triple {800#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {814#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:22,988 INFO L272 TraceCheckUtils]: 2: Hoare triple {800#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {800#true} is VALID [2022-02-20 23:37:22,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {800#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {800#true} is VALID [2022-02-20 23:37:22,989 INFO L290 TraceCheckUtils]: 0: Hoare triple {800#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {800#true} is VALID [2022-02-20 23:37:22,989 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 1 proven. 32 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:37:22,989 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:22,990 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1100199748] [2022-02-20 23:37:22,990 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1100199748] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:37:22,991 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:22,992 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-02-20 23:37:22,992 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1876141559] [2022-02-20 23:37:22,992 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:22,992 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 40 [2022-02-20 23:37:22,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:22,993 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:23,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:23,060 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:37:23,060 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:23,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:37:23,061 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:23,062 INFO L87 Difference]: Start difference. First operand 81 states and 90 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:23,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:23,730 INFO L93 Difference]: Finished difference Result 111 states and 120 transitions. [2022-02-20 23:37:23,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:37:23,731 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 40 [2022-02-20 23:37:23,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:23,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:23,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 121 transitions. [2022-02-20 23:37:23,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:23,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 121 transitions. [2022-02-20 23:37:23,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 121 transitions. [2022-02-20 23:37:23,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:23,845 INFO L225 Difference]: With dead ends: 111 [2022-02-20 23:37:23,845 INFO L226 Difference]: Without dead ends: 111 [2022-02-20 23:37:23,845 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:37:23,846 INFO L933 BasicCegarLoop]: 78 mSDtfsCounter, 90 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 339 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:23,846 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 339 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:23,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-02-20 23:37:23,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 86. [2022-02-20 23:37:23,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:23,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 86 states, 55 states have (on average 1.5636363636363637) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:23,850 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 86 states, 55 states have (on average 1.5636363636363637) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:23,850 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 86 states, 55 states have (on average 1.5636363636363637) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:23,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:23,853 INFO L93 Difference]: Finished difference Result 111 states and 120 transitions. [2022-02-20 23:37:23,853 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 120 transitions. [2022-02-20 23:37:23,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:23,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:23,854 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 55 states have (on average 1.5636363636363637) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 111 states. [2022-02-20 23:37:23,854 INFO L87 Difference]: Start difference. First operand has 86 states, 55 states have (on average 1.5636363636363637) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 111 states. [2022-02-20 23:37:23,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:23,856 INFO L93 Difference]: Finished difference Result 111 states and 120 transitions. [2022-02-20 23:37:23,856 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 120 transitions. [2022-02-20 23:37:23,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:23,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:23,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:23,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:23,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 55 states have (on average 1.5636363636363637) internal successors, (86), 79 states have internal predecessors, (86), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:23,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 95 transitions. [2022-02-20 23:37:23,859 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 95 transitions. Word has length 40 [2022-02-20 23:37:23,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:23,859 INFO L470 AbstractCegarLoop]: Abstraction has 86 states and 95 transitions. [2022-02-20 23:37:23,859 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:23,859 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-02-20 23:37:23,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 23:37:23,860 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:23,860 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:23,867 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Ended with exit code 0 [2022-02-20 23:37:24,067 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:24,068 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:24,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:24,068 INFO L85 PathProgramCache]: Analyzing trace with hash -1982971279, now seen corresponding path program 1 times [2022-02-20 23:37:24,069 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:24,069 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1850767738] [2022-02-20 23:37:24,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:24,069 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:24,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:24,073 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:24,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 23:37:24,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:24,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:37:24,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:24,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:24,326 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-02-20 23:37:24,380 INFO L290 TraceCheckUtils]: 0: Hoare triple {1476#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {1476#true} is VALID [2022-02-20 23:37:24,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {1476#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {1476#true} is VALID [2022-02-20 23:37:24,381 INFO L272 TraceCheckUtils]: 2: Hoare triple {1476#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {1476#true} is VALID [2022-02-20 23:37:24,381 INFO L290 TraceCheckUtils]: 3: Hoare triple {1476#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {1476#true} is VALID [2022-02-20 23:37:24,381 INFO L290 TraceCheckUtils]: 4: Hoare triple {1476#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {1476#true} is VALID [2022-02-20 23:37:24,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {1476#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {1476#true} is VALID [2022-02-20 23:37:24,381 INFO L290 TraceCheckUtils]: 6: Hoare triple {1476#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {1476#true} is VALID [2022-02-20 23:37:24,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {1476#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1476#true} is VALID [2022-02-20 23:37:24,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-02-20 23:37:24,382 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1476#true} {1476#true} #160#return; {1476#true} is VALID [2022-02-20 23:37:24,382 INFO L290 TraceCheckUtils]: 10: Hoare triple {1476#true} havoc main_#t~ret39#1; {1476#true} is VALID [2022-02-20 23:37:24,382 INFO L272 TraceCheckUtils]: 11: Hoare triple {1476#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {1476#true} is VALID [2022-02-20 23:37:24,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {1476#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {1476#true} is VALID [2022-02-20 23:37:24,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {1476#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {1476#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {1476#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L290 TraceCheckUtils]: 16: Hoare triple {1476#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L290 TraceCheckUtils]: 17: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1476#true} {1476#true} #162#return; {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {1476#true} havoc main_#t~ret40#1; {1476#true} is VALID [2022-02-20 23:37:24,383 INFO L272 TraceCheckUtils]: 20: Hoare triple {1476#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {1476#true} is VALID [2022-02-20 23:37:24,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {1476#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {1476#true} is VALID [2022-02-20 23:37:24,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {1476#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {1476#true} is VALID [2022-02-20 23:37:24,384 INFO L290 TraceCheckUtils]: 23: Hoare triple {1476#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {1476#true} is VALID [2022-02-20 23:37:24,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {1476#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {1476#true} is VALID [2022-02-20 23:37:24,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {1476#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1476#true} is VALID [2022-02-20 23:37:24,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {1476#true} assume true; {1476#true} is VALID [2022-02-20 23:37:24,385 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1476#true} {1476#true} #164#return; {1476#true} is VALID [2022-02-20 23:37:24,385 INFO L290 TraceCheckUtils]: 28: Hoare triple {1476#true} havoc main_#t~ret41#1; {1476#true} is VALID [2022-02-20 23:37:24,385 INFO L272 TraceCheckUtils]: 29: Hoare triple {1476#true} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {1476#true} is VALID [2022-02-20 23:37:24,386 INFO L290 TraceCheckUtils]: 30: Hoare triple {1476#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,386 INFO L290 TraceCheckUtils]: 31: Hoare triple {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,387 INFO L290 TraceCheckUtils]: 32: Hoare triple {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,387 INFO L290 TraceCheckUtils]: 33: Hoare triple {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,388 INFO L290 TraceCheckUtils]: 34: Hoare triple {1571#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {1584#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {1584#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {1584#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,389 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1584#(= (select |#valid| ~head~0.base) (_ bv1 1))} {1476#true} #166#return; {1584#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:24,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {1584#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {1594#(= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:37:24,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {1594#(= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {1594#(= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:37:24,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {1594#(= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {1477#false} is VALID [2022-02-20 23:37:24,390 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-02-20 23:37:24,390 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:24,390 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:24,390 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1850767738] [2022-02-20 23:37:24,391 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1850767738] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:24,391 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:24,391 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:37:24,391 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [766361414] [2022-02-20 23:37:24,391 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:24,392 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 40 [2022-02-20 23:37:24,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:24,392 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:24,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:24,433 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:24,433 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:24,434 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:24,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:24,434 INFO L87 Difference]: Start difference. First operand 86 states and 95 transitions. Second operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:25,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:25,004 INFO L93 Difference]: Finished difference Result 166 states and 180 transitions. [2022-02-20 23:37:25,004 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:37:25,005 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 40 [2022-02-20 23:37:25,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:25,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:25,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 178 transitions. [2022-02-20 23:37:25,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:25,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 178 transitions. [2022-02-20 23:37:25,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 178 transitions. [2022-02-20 23:37:25,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:25,204 INFO L225 Difference]: With dead ends: 166 [2022-02-20 23:37:25,204 INFO L226 Difference]: Without dead ends: 166 [2022-02-20 23:37:25,204 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:25,205 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 191 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 191 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:25,205 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [191 Valid, 149 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 152 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:37:25,206 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-02-20 23:37:25,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 88. [2022-02-20 23:37:25,209 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:25,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 88 states, 57 states have (on average 1.5789473684210527) internal successors, (90), 81 states have internal predecessors, (90), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:25,210 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 88 states, 57 states have (on average 1.5789473684210527) internal successors, (90), 81 states have internal predecessors, (90), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:25,210 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 88 states, 57 states have (on average 1.5789473684210527) internal successors, (90), 81 states have internal predecessors, (90), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:25,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:25,214 INFO L93 Difference]: Finished difference Result 166 states and 180 transitions. [2022-02-20 23:37:25,214 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 180 transitions. [2022-02-20 23:37:25,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:25,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:25,215 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 57 states have (on average 1.5789473684210527) internal successors, (90), 81 states have internal predecessors, (90), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 166 states. [2022-02-20 23:37:25,215 INFO L87 Difference]: Start difference. First operand has 88 states, 57 states have (on average 1.5789473684210527) internal successors, (90), 81 states have internal predecessors, (90), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 166 states. [2022-02-20 23:37:25,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:25,219 INFO L93 Difference]: Finished difference Result 166 states and 180 transitions. [2022-02-20 23:37:25,219 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 180 transitions. [2022-02-20 23:37:25,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:25,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:25,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:25,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:25,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 57 states have (on average 1.5789473684210527) internal successors, (90), 81 states have internal predecessors, (90), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:25,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2022-02-20 23:37:25,222 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 99 transitions. Word has length 40 [2022-02-20 23:37:25,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:25,222 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 99 transitions. [2022-02-20 23:37:25,222 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:25,223 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2022-02-20 23:37:25,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 23:37:25,223 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:25,223 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:25,232 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 23:37:25,431 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:25,432 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:25,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:25,434 INFO L85 PathProgramCache]: Analyzing trace with hash -1982971278, now seen corresponding path program 1 times [2022-02-20 23:37:25,434 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:25,434 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1871391382] [2022-02-20 23:37:25,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:25,434 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:25,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:25,436 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:25,437 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 23:37:25,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:25,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:37:25,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:25,598 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:25,669 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-02-20 23:37:25,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {2190#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2190#true} is VALID [2022-02-20 23:37:25,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {2190#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2190#true} is VALID [2022-02-20 23:37:25,756 INFO L272 TraceCheckUtils]: 2: Hoare triple {2190#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {2190#true} is VALID [2022-02-20 23:37:25,756 INFO L290 TraceCheckUtils]: 3: Hoare triple {2190#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2190#true} is VALID [2022-02-20 23:37:25,756 INFO L290 TraceCheckUtils]: 4: Hoare triple {2190#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {2190#true} is VALID [2022-02-20 23:37:25,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {2190#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {2190#true} is VALID [2022-02-20 23:37:25,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {2190#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {2190#true} is VALID [2022-02-20 23:37:25,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {2190#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2190#true} is VALID [2022-02-20 23:37:25,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {2190#true} assume true; {2190#true} is VALID [2022-02-20 23:37:25,757 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2190#true} {2190#true} #160#return; {2190#true} is VALID [2022-02-20 23:37:25,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {2190#true} havoc main_#t~ret39#1; {2190#true} is VALID [2022-02-20 23:37:25,757 INFO L272 TraceCheckUtils]: 11: Hoare triple {2190#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {2190#true} is VALID [2022-02-20 23:37:25,757 INFO L290 TraceCheckUtils]: 12: Hoare triple {2190#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2190#true} is VALID [2022-02-20 23:37:25,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {2190#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {2190#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {2190#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L290 TraceCheckUtils]: 16: Hoare triple {2190#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L290 TraceCheckUtils]: 17: Hoare triple {2190#true} assume true; {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2190#true} {2190#true} #162#return; {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L290 TraceCheckUtils]: 19: Hoare triple {2190#true} havoc main_#t~ret40#1; {2190#true} is VALID [2022-02-20 23:37:25,758 INFO L272 TraceCheckUtils]: 20: Hoare triple {2190#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {2190#true} is VALID [2022-02-20 23:37:25,759 INFO L290 TraceCheckUtils]: 21: Hoare triple {2190#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2190#true} is VALID [2022-02-20 23:37:25,759 INFO L290 TraceCheckUtils]: 22: Hoare triple {2190#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {2190#true} is VALID [2022-02-20 23:37:25,759 INFO L290 TraceCheckUtils]: 23: Hoare triple {2190#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {2190#true} is VALID [2022-02-20 23:37:25,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {2190#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {2190#true} is VALID [2022-02-20 23:37:25,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {2190#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2190#true} is VALID [2022-02-20 23:37:25,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {2190#true} assume true; {2190#true} is VALID [2022-02-20 23:37:25,760 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2190#true} {2190#true} #164#return; {2190#true} is VALID [2022-02-20 23:37:25,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {2190#true} havoc main_#t~ret41#1; {2190#true} is VALID [2022-02-20 23:37:25,760 INFO L272 TraceCheckUtils]: 29: Hoare triple {2190#true} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {2190#true} is VALID [2022-02-20 23:37:25,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {2190#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:25,762 INFO L290 TraceCheckUtils]: 31: Hoare triple {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:25,763 INFO L290 TraceCheckUtils]: 32: Hoare triple {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:25,763 INFO L290 TraceCheckUtils]: 33: Hoare triple {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:25,764 INFO L290 TraceCheckUtils]: 34: Hoare triple {2285#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2298#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:25,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {2298#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {2298#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:25,765 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2298#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {2190#true} #166#return; {2298#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:25,766 INFO L290 TraceCheckUtils]: 37: Hoare triple {2298#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {2308#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:25,766 INFO L290 TraceCheckUtils]: 38: Hoare triple {2308#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {2308#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:25,766 INFO L290 TraceCheckUtils]: 39: Hoare triple {2308#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)), #length[main_~mylist~0#1.base]) && ~bvule32(~bvadd32(4bv32, main_~mylist~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset))); {2191#false} is VALID [2022-02-20 23:37:25,767 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-02-20 23:37:25,783 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:25,783 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:25,783 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1871391382] [2022-02-20 23:37:25,783 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1871391382] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:25,783 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:25,784 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:37:25,784 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1844809849] [2022-02-20 23:37:25,784 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:25,784 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 40 [2022-02-20 23:37:25,785 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:25,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:25,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:25,821 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:25,821 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:25,822 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:25,822 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:25,822 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. Second operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:26,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:26,641 INFO L93 Difference]: Finished difference Result 184 states and 198 transitions. [2022-02-20 23:37:26,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:37:26,642 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 40 [2022-02-20 23:37:26,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:26,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:26,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 197 transitions. [2022-02-20 23:37:26,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:26,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 197 transitions. [2022-02-20 23:37:26,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 197 transitions. [2022-02-20 23:37:26,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:26,845 INFO L225 Difference]: With dead ends: 184 [2022-02-20 23:37:26,845 INFO L226 Difference]: Without dead ends: 184 [2022-02-20 23:37:26,846 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:26,846 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 216 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 216 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:26,847 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [216 Valid, 157 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:37:26,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-02-20 23:37:26,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 97. [2022-02-20 23:37:26,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:26,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 97 states, 66 states have (on average 1.621212121212121) internal successors, (107), 90 states have internal predecessors, (107), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:26,851 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 97 states, 66 states have (on average 1.621212121212121) internal successors, (107), 90 states have internal predecessors, (107), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:26,852 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 97 states, 66 states have (on average 1.621212121212121) internal successors, (107), 90 states have internal predecessors, (107), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:26,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:26,858 INFO L93 Difference]: Finished difference Result 184 states and 198 transitions. [2022-02-20 23:37:26,858 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 198 transitions. [2022-02-20 23:37:26,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:26,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:26,859 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 66 states have (on average 1.621212121212121) internal successors, (107), 90 states have internal predecessors, (107), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 184 states. [2022-02-20 23:37:26,859 INFO L87 Difference]: Start difference. First operand has 97 states, 66 states have (on average 1.621212121212121) internal successors, (107), 90 states have internal predecessors, (107), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 184 states. [2022-02-20 23:37:26,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:26,865 INFO L93 Difference]: Finished difference Result 184 states and 198 transitions. [2022-02-20 23:37:26,865 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 198 transitions. [2022-02-20 23:37:26,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:26,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:26,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:26,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:26,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 66 states have (on average 1.621212121212121) internal successors, (107), 90 states have internal predecessors, (107), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:26,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 116 transitions. [2022-02-20 23:37:26,869 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 116 transitions. Word has length 40 [2022-02-20 23:37:26,869 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:26,869 INFO L470 AbstractCegarLoop]: Abstraction has 97 states and 116 transitions. [2022-02-20 23:37:26,870 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:26,870 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 116 transitions. [2022-02-20 23:37:26,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:37:26,870 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:26,870 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-02-20 23:37:26,881 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:27,081 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:27,082 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:27,082 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:27,082 INFO L85 PathProgramCache]: Analyzing trace with hash -1718799074, now seen corresponding path program 1 times [2022-02-20 23:37:27,083 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:27,083 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [593342292] [2022-02-20 23:37:27,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:27,083 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:27,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:27,085 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:27,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 23:37:27,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:27,255 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:37:27,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:27,273 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:27,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {2967#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {2967#true} is VALID [2022-02-20 23:37:27,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {2967#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {2967#true} is VALID [2022-02-20 23:37:27,382 INFO L272 TraceCheckUtils]: 2: Hoare triple {2967#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {2967#true} is VALID [2022-02-20 23:37:27,382 INFO L290 TraceCheckUtils]: 3: Hoare triple {2967#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2967#true} is VALID [2022-02-20 23:37:27,382 INFO L290 TraceCheckUtils]: 4: Hoare triple {2967#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {2967#true} is VALID [2022-02-20 23:37:27,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {2967#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L290 TraceCheckUtils]: 6: Hoare triple {2967#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {2967#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {2967#true} assume true; {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2967#true} {2967#true} #160#return; {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L290 TraceCheckUtils]: 10: Hoare triple {2967#true} havoc main_#t~ret39#1; {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L272 TraceCheckUtils]: 11: Hoare triple {2967#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {2967#true} is VALID [2022-02-20 23:37:27,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {2967#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2967#true} is VALID [2022-02-20 23:37:27,384 INFO L290 TraceCheckUtils]: 13: Hoare triple {2967#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {2967#true} is VALID [2022-02-20 23:37:27,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {2967#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {2967#true} is VALID [2022-02-20 23:37:27,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {2967#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {2967#true} is VALID [2022-02-20 23:37:27,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {2967#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2967#true} is VALID [2022-02-20 23:37:27,384 INFO L290 TraceCheckUtils]: 17: Hoare triple {2967#true} assume true; {2967#true} is VALID [2022-02-20 23:37:27,384 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2967#true} {2967#true} #162#return; {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {2967#true} havoc main_#t~ret40#1; {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L272 TraceCheckUtils]: 20: Hoare triple {2967#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 21: Hoare triple {2967#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 22: Hoare triple {2967#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {2967#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 24: Hoare triple {2967#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {2967#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {2967#true} is VALID [2022-02-20 23:37:27,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {2967#true} assume true; {2967#true} is VALID [2022-02-20 23:37:27,386 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2967#true} {2967#true} #164#return; {2967#true} is VALID [2022-02-20 23:37:27,386 INFO L290 TraceCheckUtils]: 28: Hoare triple {2967#true} havoc main_#t~ret41#1; {2967#true} is VALID [2022-02-20 23:37:27,386 INFO L272 TraceCheckUtils]: 29: Hoare triple {2967#true} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {2967#true} is VALID [2022-02-20 23:37:27,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {2967#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3062#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:27,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {3062#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3062#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:27,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {3062#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3062#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:27,390 INFO L290 TraceCheckUtils]: 33: Hoare triple {3062#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3062#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:27,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {3062#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3075#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:27,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {3075#(not (= (_ bv0 32) ~head~0.base))} assume true; {3075#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:27,391 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3075#(not (= (_ bv0 32) ~head~0.base))} {2967#true} #166#return; {3075#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:27,392 INFO L290 TraceCheckUtils]: 37: Hoare triple {3075#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {3085#(not (= |ULTIMATE.start_main_~mylist~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:27,392 INFO L290 TraceCheckUtils]: 38: Hoare triple {3085#(not (= |ULTIMATE.start_main_~mylist~0#1.base| (_ bv0 32)))} assume !(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {2968#false} is VALID [2022-02-20 23:37:27,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {2968#false} assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem33#1.base, search_list_#t~mem33#1.offset, search_list_#t~mem31#1, search_list_#t~short32#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {2968#false} is VALID [2022-02-20 23:37:27,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#false} search_list_#t~short32#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {2968#false} is VALID [2022-02-20 23:37:27,392 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#false} assume search_list_#t~short32#1; {2968#false} is VALID [2022-02-20 23:37:27,393 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#false} assume !(1bv1 == #valid[search_list_~l#1.base]); {2968#false} is VALID [2022-02-20 23:37:27,393 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-02-20 23:37:27,393 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:27,393 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:27,393 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [593342292] [2022-02-20 23:37:27,393 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [593342292] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:27,393 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:27,394 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:37:27,394 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1467401040] [2022-02-20 23:37:27,394 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:27,394 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 43 [2022-02-20 23:37:27,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:27,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:27,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:27,426 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:27,426 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:27,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:27,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:27,427 INFO L87 Difference]: Start difference. First operand 97 states and 116 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:27,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:27,936 INFO L93 Difference]: Finished difference Result 118 states and 127 transitions. [2022-02-20 23:37:27,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:37:27,937 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 43 [2022-02-20 23:37:27,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:27,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:27,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 126 transitions. [2022-02-20 23:37:27,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:27,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 126 transitions. [2022-02-20 23:37:27,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 126 transitions. [2022-02-20 23:37:28,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:28,056 INFO L225 Difference]: With dead ends: 118 [2022-02-20 23:37:28,056 INFO L226 Difference]: Without dead ends: 118 [2022-02-20 23:37:28,056 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:37:28,056 INFO L933 BasicCegarLoop]: 79 mSDtfsCounter, 94 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:28,057 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 246 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:28,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-02-20 23:37:28,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 97. [2022-02-20 23:37:28,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:28,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 97 states, 66 states have (on average 1.5909090909090908) internal successors, (105), 90 states have internal predecessors, (105), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:28,060 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 97 states, 66 states have (on average 1.5909090909090908) internal successors, (105), 90 states have internal predecessors, (105), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:28,061 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 97 states, 66 states have (on average 1.5909090909090908) internal successors, (105), 90 states have internal predecessors, (105), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:28,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:28,063 INFO L93 Difference]: Finished difference Result 118 states and 127 transitions. [2022-02-20 23:37:28,063 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 127 transitions. [2022-02-20 23:37:28,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:28,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:28,063 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 66 states have (on average 1.5909090909090908) internal successors, (105), 90 states have internal predecessors, (105), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 118 states. [2022-02-20 23:37:28,063 INFO L87 Difference]: Start difference. First operand has 97 states, 66 states have (on average 1.5909090909090908) internal successors, (105), 90 states have internal predecessors, (105), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 118 states. [2022-02-20 23:37:28,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:28,065 INFO L93 Difference]: Finished difference Result 118 states and 127 transitions. [2022-02-20 23:37:28,065 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 127 transitions. [2022-02-20 23:37:28,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:28,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:28,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:28,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:28,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 66 states have (on average 1.5909090909090908) internal successors, (105), 90 states have internal predecessors, (105), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:37:28,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 114 transitions. [2022-02-20 23:37:28,068 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 114 transitions. Word has length 43 [2022-02-20 23:37:28,068 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:28,068 INFO L470 AbstractCegarLoop]: Abstraction has 97 states and 114 transitions. [2022-02-20 23:37:28,068 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:37:28,069 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 114 transitions. [2022-02-20 23:37:28,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:37:28,069 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:28,069 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:28,078 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Ended with exit code 0 [2022-02-20 23:37:28,278 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:28,278 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:28,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:28,279 INFO L85 PathProgramCache]: Analyzing trace with hash -1717169730, now seen corresponding path program 1 times [2022-02-20 23:37:28,279 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:28,279 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1934313763] [2022-02-20 23:37:28,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:28,279 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:28,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:28,280 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:28,282 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 23:37:28,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:28,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 21 conjunts are in the unsatisfiable core [2022-02-20 23:37:28,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:28,504 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:28,552 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-02-20 23:37:28,676 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 13 treesize of output 9 [2022-02-20 23:37:28,749 INFO L356 Elim1Store]: treesize reduction 30, result has 31.8 percent of original size [2022-02-20 23:37:28,749 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 1 case distinctions, treesize of input 18 treesize of output 23 [2022-02-20 23:37:28,816 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 19 treesize of output 11 [2022-02-20 23:37:28,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {3555#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3555#true} is VALID [2022-02-20 23:37:28,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {3555#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L272 TraceCheckUtils]: 2: Hoare triple {3555#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 3: Hoare triple {3555#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 4: Hoare triple {3555#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {3555#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 6: Hoare triple {3555#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {3555#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {3555#true} assume true; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3555#true} {3555#true} #160#return; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 10: Hoare triple {3555#true} havoc main_#t~ret39#1; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L272 TraceCheckUtils]: 11: Hoare triple {3555#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 12: Hoare triple {3555#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3555#true} is VALID [2022-02-20 23:37:28,867 INFO L290 TraceCheckUtils]: 13: Hoare triple {3555#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {3555#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L290 TraceCheckUtils]: 15: Hoare triple {3555#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L290 TraceCheckUtils]: 16: Hoare triple {3555#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L290 TraceCheckUtils]: 17: Hoare triple {3555#true} assume true; {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3555#true} {3555#true} #162#return; {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {3555#true} havoc main_#t~ret40#1; {3555#true} is VALID [2022-02-20 23:37:28,868 INFO L272 TraceCheckUtils]: 20: Hoare triple {3555#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {3555#true} is VALID [2022-02-20 23:37:28,869 INFO L290 TraceCheckUtils]: 21: Hoare triple {3555#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,872 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} {3555#true} #164#return; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret41#1; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:28,873 INFO L272 TraceCheckUtils]: 29: Hoare triple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {3649#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} is VALID [2022-02-20 23:37:28,874 INFO L290 TraceCheckUtils]: 30: Hoare triple {3649#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3653#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:28,875 INFO L290 TraceCheckUtils]: 31: Hoare triple {3653#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3653#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:28,877 INFO L290 TraceCheckUtils]: 32: Hoare triple {3653#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3653#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:28,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {3653#(and (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3663#(and (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:28,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {3663#(and (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3667#(and (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:28,880 INFO L290 TraceCheckUtils]: 35: Hoare triple {3667#(and (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {3667#(and (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:28,881 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3667#(and (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} #166#return; {3674#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:28,882 INFO L290 TraceCheckUtils]: 37: Hoare triple {3674#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {3678#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (bvadd (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (_ bv0 1)))} is VALID [2022-02-20 23:37:28,882 INFO L290 TraceCheckUtils]: 38: Hoare triple {3678#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (bvadd (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (_ bv0 1)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {3678#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (bvadd (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (_ bv0 1)))} is VALID [2022-02-20 23:37:28,886 INFO L290 TraceCheckUtils]: 39: Hoare triple {3678#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (bvadd (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (_ bv0 1)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {3685#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|)))} is VALID [2022-02-20 23:37:28,888 INFO L290 TraceCheckUtils]: 40: Hoare triple {3685#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:37:28,889 INFO L290 TraceCheckUtils]: 41: Hoare triple {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:37:28,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {3556#false} is VALID [2022-02-20 23:37:28,889 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 29 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:28,889 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:29,304 INFO L290 TraceCheckUtils]: 42: Hoare triple {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {3556#false} is VALID [2022-02-20 23:37:29,304 INFO L290 TraceCheckUtils]: 41: Hoare triple {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:37:29,305 INFO L290 TraceCheckUtils]: 40: Hoare triple {3685#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {3689#(= (_ bv0 1) (bvadd (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:37:29,305 INFO L290 TraceCheckUtils]: 39: Hoare triple {3705#(= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|))) (_ bv1 1)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {3685#(= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|)))} is VALID [2022-02-20 23:37:29,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {3705#(= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|))) (_ bv1 1)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {3705#(= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|))) (_ bv1 1)))} is VALID [2022-02-20 23:37:29,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {3712#(= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {3705#(= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|))) (_ bv1 1)))} is VALID [2022-02-20 23:37:29,307 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3719#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} #166#return; {3712#(= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)))} is VALID [2022-02-20 23:37:29,308 INFO L290 TraceCheckUtils]: 35: Hoare triple {3719#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} assume true; {3719#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {3726#(or (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset))) (_ bv1 1)) (_ bv0 1)) (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3719#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,310 INFO L290 TraceCheckUtils]: 33: Hoare triple {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3726#(or (= (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset))) (_ bv1 1)) (_ bv0 1)) (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,311 INFO L290 TraceCheckUtils]: 32: Hoare triple {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,313 INFO L272 TraceCheckUtils]: 29: Hoare triple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {3730#(or (not (= (select |old(#valid)| |old(~head~0.base)|) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| ~head~0.base) (_ bv1 1))))} is VALID [2022-02-20 23:37:29,313 INFO L290 TraceCheckUtils]: 28: Hoare triple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret41#1; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,314 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} {3555#true} #164#return; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,315 INFO L290 TraceCheckUtils]: 25: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3636#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,316 INFO L290 TraceCheckUtils]: 21: Hoare triple {3555#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3623#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:29,316 INFO L272 TraceCheckUtils]: 20: Hoare triple {3555#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {3555#true} is VALID [2022-02-20 23:37:29,316 INFO L290 TraceCheckUtils]: 19: Hoare triple {3555#true} havoc main_#t~ret40#1; {3555#true} is VALID [2022-02-20 23:37:29,316 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3555#true} {3555#true} #162#return; {3555#true} is VALID [2022-02-20 23:37:29,316 INFO L290 TraceCheckUtils]: 17: Hoare triple {3555#true} assume true; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 16: Hoare triple {3555#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 15: Hoare triple {3555#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 14: Hoare triple {3555#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {3555#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 12: Hoare triple {3555#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L272 TraceCheckUtils]: 11: Hoare triple {3555#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 10: Hoare triple {3555#true} havoc main_#t~ret39#1; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {3555#true} {3555#true} #160#return; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {3555#true} assume true; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {3555#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 6: Hoare triple {3555#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {3555#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 4: Hoare triple {3555#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {3555#true} is VALID [2022-02-20 23:37:29,317 INFO L290 TraceCheckUtils]: 3: Hoare triple {3555#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {3555#true} is VALID [2022-02-20 23:37:29,318 INFO L272 TraceCheckUtils]: 2: Hoare triple {3555#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {3555#true} is VALID [2022-02-20 23:37:29,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {3555#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {3555#true} is VALID [2022-02-20 23:37:29,318 INFO L290 TraceCheckUtils]: 0: Hoare triple {3555#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {3555#true} is VALID [2022-02-20 23:37:29,318 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 23 proven. 8 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:29,318 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:29,318 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1934313763] [2022-02-20 23:37:29,318 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1934313763] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:37:29,318 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:29,318 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-02-20 23:37:29,318 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1770917839] [2022-02-20 23:37:29,318 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:29,319 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 43 [2022-02-20 23:37:29,319 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:29,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:29,372 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:29,372 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 23:37:29,372 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:29,372 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 23:37:29,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=225, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:37:29,373 INFO L87 Difference]: Start difference. First operand 97 states and 114 transitions. Second operand has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:32,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:32,130 INFO L93 Difference]: Finished difference Result 179 states and 193 transitions. [2022-02-20 23:37:32,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 23:37:32,131 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 43 [2022-02-20 23:37:32,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:32,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:32,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 190 transitions. [2022-02-20 23:37:32,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:32,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 190 transitions. [2022-02-20 23:37:32,134 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 190 transitions. [2022-02-20 23:37:32,350 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:32,352 INFO L225 Difference]: With dead ends: 179 [2022-02-20 23:37:32,352 INFO L226 Difference]: Without dead ends: 179 [2022-02-20 23:37:32,352 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 67 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 159 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=181, Invalid=749, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:37:32,352 INFO L933 BasicCegarLoop]: 53 mSDtfsCounter, 421 mSDsluCounter, 304 mSDsCounter, 0 mSdLazyCounter, 506 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 421 SdHoareTripleChecker+Valid, 357 SdHoareTripleChecker+Invalid, 545 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 506 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:32,353 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [421 Valid, 357 Invalid, 545 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 506 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 23:37:32,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states. [2022-02-20 23:37:32,355 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 102. [2022-02-20 23:37:32,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:32,356 INFO L82 GeneralOperation]: Start isEquivalent. First operand 179 states. Second operand has 102 states, 71 states have (on average 1.5774647887323943) internal successors, (112), 95 states have internal predecessors, (112), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:32,356 INFO L74 IsIncluded]: Start isIncluded. First operand 179 states. Second operand has 102 states, 71 states have (on average 1.5774647887323943) internal successors, (112), 95 states have internal predecessors, (112), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:32,356 INFO L87 Difference]: Start difference. First operand 179 states. Second operand has 102 states, 71 states have (on average 1.5774647887323943) internal successors, (112), 95 states have internal predecessors, (112), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:32,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:32,359 INFO L93 Difference]: Finished difference Result 179 states and 193 transitions. [2022-02-20 23:37:32,359 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 193 transitions. [2022-02-20 23:37:32,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:32,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:32,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 71 states have (on average 1.5774647887323943) internal successors, (112), 95 states have internal predecessors, (112), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 179 states. [2022-02-20 23:37:32,360 INFO L87 Difference]: Start difference. First operand has 102 states, 71 states have (on average 1.5774647887323943) internal successors, (112), 95 states have internal predecessors, (112), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 179 states. [2022-02-20 23:37:32,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:32,363 INFO L93 Difference]: Finished difference Result 179 states and 193 transitions. [2022-02-20 23:37:32,363 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 193 transitions. [2022-02-20 23:37:32,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:32,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:32,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:32,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:32,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 71 states have (on average 1.5774647887323943) internal successors, (112), 95 states have internal predecessors, (112), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:32,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 120 transitions. [2022-02-20 23:37:32,365 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 120 transitions. Word has length 43 [2022-02-20 23:37:32,365 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:32,365 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 120 transitions. [2022-02-20 23:37:32,365 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.5625) internal successors, (41), 14 states have internal predecessors, (41), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:32,365 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 120 transitions. [2022-02-20 23:37:32,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:37:32,366 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:32,366 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:32,391 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Ended with exit code 0 [2022-02-20 23:37:32,575 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:32,576 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:32,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:32,576 INFO L85 PathProgramCache]: Analyzing trace with hash -1717169729, now seen corresponding path program 1 times [2022-02-20 23:37:32,576 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:32,577 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [469126241] [2022-02-20 23:37:32,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:32,577 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:32,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:32,578 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:32,579 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2022-02-20 23:37:32,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:32,867 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 30 conjunts are in the unsatisfiable core [2022-02-20 23:37:32,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:32,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:32,924 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-02-20 23:37:33,142 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 13 treesize of output 9 [2022-02-20 23:37:33,148 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 13 treesize of output 9 [2022-02-20 23:37:33,250 INFO L356 Elim1Store]: treesize reduction 33, result has 25.0 percent of original size [2022-02-20 23:37:33,251 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 1 case distinctions, treesize of input 18 treesize of output 20 [2022-02-20 23:37:33,343 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-02-20 23:37:33,346 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:37:33,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {4494#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4494#true} is VALID [2022-02-20 23:37:33,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {4494#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {4494#true} is VALID [2022-02-20 23:37:33,400 INFO L272 TraceCheckUtils]: 2: Hoare triple {4494#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 3: Hoare triple {4494#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 4: Hoare triple {4494#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 5: Hoare triple {4494#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 6: Hoare triple {4494#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {4494#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {4494#true} assume true; {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4494#true} {4494#true} #160#return; {4494#true} is VALID [2022-02-20 23:37:33,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {4494#true} havoc main_#t~ret39#1; {4494#true} is VALID [2022-02-20 23:37:33,405 INFO L272 TraceCheckUtils]: 11: Hoare triple {4494#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {4494#true} is VALID [2022-02-20 23:37:33,405 INFO L290 TraceCheckUtils]: 12: Hoare triple {4494#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {4494#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L290 TraceCheckUtils]: 14: Hoare triple {4494#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {4494#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {4494#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L290 TraceCheckUtils]: 17: Hoare triple {4494#true} assume true; {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4494#true} {4494#true} #162#return; {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L290 TraceCheckUtils]: 19: Hoare triple {4494#true} havoc main_#t~ret40#1; {4494#true} is VALID [2022-02-20 23:37:33,406 INFO L272 TraceCheckUtils]: 20: Hoare triple {4494#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {4494#true} is VALID [2022-02-20 23:37:33,407 INFO L290 TraceCheckUtils]: 21: Hoare triple {4494#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,408 INFO L290 TraceCheckUtils]: 22: Hoare triple {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,409 INFO L290 TraceCheckUtils]: 23: Hoare triple {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,410 INFO L290 TraceCheckUtils]: 24: Hoare triple {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,410 INFO L290 TraceCheckUtils]: 25: Hoare triple {4562#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:33,410 INFO L290 TraceCheckUtils]: 26: Hoare triple {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:33,411 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {4494#true} #164#return; {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:33,411 INFO L290 TraceCheckUtils]: 28: Hoare triple {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret41#1; {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:33,412 INFO L272 TraceCheckUtils]: 29: Hoare triple {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {4588#(and (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} is VALID [2022-02-20 23:37:33,413 INFO L290 TraceCheckUtils]: 30: Hoare triple {4588#(and (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4592#(and (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,413 INFO L290 TraceCheckUtils]: 31: Hoare triple {4592#(and (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {4592#(and (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,414 INFO L290 TraceCheckUtils]: 32: Hoare triple {4592#(and (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {4592#(and (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:33,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {4592#(and (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {4602#(and (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:33,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {4602#(and (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4606#(and (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:37:33,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {4606#(and (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} assume true; {4606#(and (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:37:33,419 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4606#(and (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} {4575#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} #166#return; {4613#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:33,419 INFO L290 TraceCheckUtils]: 37: Hoare triple {4613#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {4617#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:33,420 INFO L290 TraceCheckUtils]: 38: Hoare triple {4617#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {4617#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:33,420 INFO L290 TraceCheckUtils]: 39: Hoare triple {4617#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {4624#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:33,420 INFO L290 TraceCheckUtils]: 40: Hoare triple {4624#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:33,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:33,421 INFO L290 TraceCheckUtils]: 42: Hoare triple {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)), #length[main_~mylist~0#1.base]) && ~bvule32(~bvadd32(4bv32, main_~mylist~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset))); {4495#false} is VALID [2022-02-20 23:37:33,422 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 29 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:33,422 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:33,990 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:33,990 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [469126241] [2022-02-20 23:37:33,990 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [469126241] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:33,990 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [162459657] [2022-02-20 23:37:33,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:33,990 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:33,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:37:34,001 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:37:34,002 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (10)] Waiting until timeout for monitored process [2022-02-20 23:37:34,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:34,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 23:37:34,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:34,333 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:34,423 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-02-20 23:37:34,429 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-02-20 23:37:34,712 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 13 treesize of output 9 [2022-02-20 23:37:34,720 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 13 treesize of output 9 [2022-02-20 23:37:34,924 INFO L356 Elim1Store]: treesize reduction 23, result has 47.7 percent of original size [2022-02-20 23:37:34,924 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 1 case distinctions, treesize of input 18 treesize of output 30 [2022-02-20 23:37:34,936 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 23:37:34,936 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 18 treesize of output 18 [2022-02-20 23:37:35,061 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 25 treesize of output 13 [2022-02-20 23:37:35,071 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:37:35,090 INFO L290 TraceCheckUtils]: 0: Hoare triple {4494#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {4494#true} is VALID [2022-02-20 23:37:35,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {4494#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L272 TraceCheckUtils]: 2: Hoare triple {4494#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 3: Hoare triple {4494#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 4: Hoare triple {4494#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {4494#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 6: Hoare triple {4494#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {4494#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 8: Hoare triple {4494#true} assume true; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4494#true} {4494#true} #160#return; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {4494#true} havoc main_#t~ret39#1; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L272 TraceCheckUtils]: 11: Hoare triple {4494#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 12: Hoare triple {4494#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 13: Hoare triple {4494#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 14: Hoare triple {4494#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {4494#true} is VALID [2022-02-20 23:37:35,091 INFO L290 TraceCheckUtils]: 15: Hoare triple {4494#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {4494#true} is VALID [2022-02-20 23:37:35,092 INFO L290 TraceCheckUtils]: 16: Hoare triple {4494#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4494#true} is VALID [2022-02-20 23:37:35,092 INFO L290 TraceCheckUtils]: 17: Hoare triple {4494#true} assume true; {4494#true} is VALID [2022-02-20 23:37:35,092 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4494#true} {4494#true} #162#return; {4494#true} is VALID [2022-02-20 23:37:35,092 INFO L290 TraceCheckUtils]: 19: Hoare triple {4494#true} havoc main_#t~ret40#1; {4494#true} is VALID [2022-02-20 23:37:35,092 INFO L272 TraceCheckUtils]: 20: Hoare triple {4494#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {4494#true} is VALID [2022-02-20 23:37:35,093 INFO L290 TraceCheckUtils]: 21: Hoare triple {4494#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,093 INFO L290 TraceCheckUtils]: 22: Hoare triple {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,094 INFO L290 TraceCheckUtils]: 23: Hoare triple {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {4724#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:35,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:35,096 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {4494#true} #164#return; {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:35,096 INFO L290 TraceCheckUtils]: 28: Hoare triple {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret41#1; {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:35,100 INFO L272 TraceCheckUtils]: 29: Hoare triple {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {4750#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} is VALID [2022-02-20 23:37:35,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {4750#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {4754#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {4754#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {4754#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {4754#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {4754#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:35,110 INFO L290 TraceCheckUtils]: 33: Hoare triple {4754#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {4764#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:35,111 INFO L290 TraceCheckUtils]: 34: Hoare triple {4764#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_674))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {4768#(and (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| ~head~0.base v_ArrVal_674))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:35,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {4768#(and (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| ~head~0.base v_ArrVal_674))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {4768#(and (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| ~head~0.base v_ArrVal_674))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:35,114 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4768#(and (exists ((v_ArrVal_674 (_ BitVec 32))) (= |#length| (store |old(#length)| ~head~0.base v_ArrVal_674))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {4737#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} #166#return; {4775#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:35,122 INFO L290 TraceCheckUtils]: 37: Hoare triple {4775#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {4779#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:35,124 INFO L290 TraceCheckUtils]: 38: Hoare triple {4779#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {4779#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:35,124 INFO L290 TraceCheckUtils]: 39: Hoare triple {4779#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {4624#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:35,125 INFO L290 TraceCheckUtils]: 40: Hoare triple {4624#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:35,125 INFO L290 TraceCheckUtils]: 41: Hoare triple {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:35,125 INFO L290 TraceCheckUtils]: 42: Hoare triple {4628#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)), #length[main_~mylist~0#1.base]) && ~bvule32(~bvadd32(4bv32, main_~mylist~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset))); {4495#false} is VALID [2022-02-20 23:37:35,126 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 23 proven. 8 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:35,126 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:35,554 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [162459657] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:35,554 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:35,554 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2022-02-20 23:37:35,554 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [429328924] [2022-02-20 23:37:35,554 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:35,554 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-02-20 23:37:35,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:35,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:35,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:35,625 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:37:35,625 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:35,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:37:35,626 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=581, Unknown=0, NotChecked=0, Total=650 [2022-02-20 23:37:35,626 INFO L87 Difference]: Start difference. First operand 102 states and 120 transitions. Second operand has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:40,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:40,697 INFO L93 Difference]: Finished difference Result 191 states and 204 transitions. [2022-02-20 23:37:40,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-02-20 23:37:40,698 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-02-20 23:37:40,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:40,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:40,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 205 transitions. [2022-02-20 23:37:40,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:40,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 205 transitions. [2022-02-20 23:37:40,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 205 transitions. [2022-02-20 23:37:40,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:40,969 INFO L225 Difference]: With dead ends: 191 [2022-02-20 23:37:40,969 INFO L226 Difference]: Without dead ends: 191 [2022-02-20 23:37:40,969 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 76 SyntacticMatches, 0 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 344 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=281, Invalid=1525, Unknown=0, NotChecked=0, Total=1806 [2022-02-20 23:37:40,969 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 538 mSDsluCounter, 447 mSDsCounter, 0 mSdLazyCounter, 703 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 538 SdHoareTripleChecker+Valid, 491 SdHoareTripleChecker+Invalid, 986 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 703 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 234 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:40,970 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [538 Valid, 491 Invalid, 986 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 703 Invalid, 0 Unknown, 234 Unchecked, 1.5s Time] [2022-02-20 23:37:40,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-02-20 23:37:40,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 102. [2022-02-20 23:37:40,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:40,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 102 states, 71 states have (on average 1.5633802816901408) internal successors, (111), 95 states have internal predecessors, (111), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:40,974 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 102 states, 71 states have (on average 1.5633802816901408) internal successors, (111), 95 states have internal predecessors, (111), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:40,974 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 102 states, 71 states have (on average 1.5633802816901408) internal successors, (111), 95 states have internal predecessors, (111), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:40,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:40,982 INFO L93 Difference]: Finished difference Result 191 states and 204 transitions. [2022-02-20 23:37:40,982 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 204 transitions. [2022-02-20 23:37:40,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:40,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:40,983 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 71 states have (on average 1.5633802816901408) internal successors, (111), 95 states have internal predecessors, (111), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 191 states. [2022-02-20 23:37:40,983 INFO L87 Difference]: Start difference. First operand has 102 states, 71 states have (on average 1.5633802816901408) internal successors, (111), 95 states have internal predecessors, (111), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 191 states. [2022-02-20 23:37:40,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:40,986 INFO L93 Difference]: Finished difference Result 191 states and 204 transitions. [2022-02-20 23:37:40,986 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 204 transitions. [2022-02-20 23:37:40,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:40,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:40,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:40,987 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:40,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 71 states have (on average 1.5633802816901408) internal successors, (111), 95 states have internal predecessors, (111), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:40,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 119 transitions. [2022-02-20 23:37:40,989 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 119 transitions. Word has length 43 [2022-02-20 23:37:40,989 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:40,989 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 119 transitions. [2022-02-20 23:37:40,989 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 2.526315789473684) internal successors, (48), 16 states have internal predecessors, (48), 3 states have call successors, (5), 3 states have call predecessors, (5), 5 states have return successors, (6), 5 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:37:40,989 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 119 transitions. [2022-02-20 23:37:40,989 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 23:37:40,989 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:40,990 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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] [2022-02-20 23:37:41,002 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:41,195 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:41,390 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:41,390 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:41,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:41,391 INFO L85 PathProgramCache]: Analyzing trace with hash 1150420657, now seen corresponding path program 1 times [2022-02-20 23:37:41,391 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:41,391 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1843546879] [2022-02-20 23:37:41,391 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:41,391 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:41,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:41,392 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:41,393 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 23:37:41,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:41,559 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:37:41,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:41,576 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:41,686 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 13 treesize of output 9 [2022-02-20 23:37:41,777 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 16 treesize of output 8 [2022-02-20 23:37:41,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {5527#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5527#true} is VALID [2022-02-20 23:37:41,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {5527#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {5527#true} is VALID [2022-02-20 23:37:41,808 INFO L272 TraceCheckUtils]: 2: Hoare triple {5527#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {5527#true} is VALID [2022-02-20 23:37:41,808 INFO L290 TraceCheckUtils]: 3: Hoare triple {5527#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5527#true} is VALID [2022-02-20 23:37:41,808 INFO L290 TraceCheckUtils]: 4: Hoare triple {5527#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 5: Hoare triple {5527#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 6: Hoare triple {5527#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 7: Hoare triple {5527#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 8: Hoare triple {5527#true} assume true; {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5527#true} {5527#true} #160#return; {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 10: Hoare triple {5527#true} havoc main_#t~ret39#1; {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L272 TraceCheckUtils]: 11: Hoare triple {5527#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {5527#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {5527#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {5527#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {5527#true} is VALID [2022-02-20 23:37:41,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {5527#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {5527#true} is VALID [2022-02-20 23:37:41,810 INFO L290 TraceCheckUtils]: 16: Hoare triple {5527#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5527#true} is VALID [2022-02-20 23:37:41,810 INFO L290 TraceCheckUtils]: 17: Hoare triple {5527#true} assume true; {5527#true} is VALID [2022-02-20 23:37:41,810 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5527#true} {5527#true} #162#return; {5527#true} is VALID [2022-02-20 23:37:41,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {5527#true} havoc main_#t~ret40#1; {5527#true} is VALID [2022-02-20 23:37:41,810 INFO L272 TraceCheckUtils]: 20: Hoare triple {5527#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {5527#true} is VALID [2022-02-20 23:37:41,810 INFO L290 TraceCheckUtils]: 21: Hoare triple {5527#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:41,811 INFO L290 TraceCheckUtils]: 22: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:41,811 INFO L290 TraceCheckUtils]: 23: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:41,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:41,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:41,812 INFO L290 TraceCheckUtils]: 26: Hoare triple {5608#(not (= (_ bv0 32) ~head~0.base))} assume true; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:41,813 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5608#(not (= (_ bv0 32) ~head~0.base))} {5527#true} #164#return; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:41,813 INFO L290 TraceCheckUtils]: 28: Hoare triple {5608#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret41#1; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:41,814 INFO L272 TraceCheckUtils]: 29: Hoare triple {5608#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {5621#(= |old(~head~0.base)| ~head~0.base)} is VALID [2022-02-20 23:37:41,814 INFO L290 TraceCheckUtils]: 30: Hoare triple {5621#(= |old(~head~0.base)| ~head~0.base)} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5625#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:41,815 INFO L290 TraceCheckUtils]: 31: Hoare triple {5625#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {5625#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:41,816 INFO L290 TraceCheckUtils]: 32: Hoare triple {5625#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {5625#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:41,817 INFO L290 TraceCheckUtils]: 33: Hoare triple {5625#(and (= |old(~head~0.base)| ~head~0.base) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {5635#(and (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:41,817 INFO L290 TraceCheckUtils]: 34: Hoare triple {5635#(and (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5639#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:41,817 INFO L290 TraceCheckUtils]: 35: Hoare triple {5639#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {5639#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:41,818 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5639#(and (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {5608#(not (= (_ bv0 32) ~head~0.base))} #166#return; {5646#(and (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:37:41,819 INFO L290 TraceCheckUtils]: 37: Hoare triple {5646#(and (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= ~head~0.offset (_ bv0 32)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {5650#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:37:41,819 INFO L290 TraceCheckUtils]: 38: Hoare triple {5650#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {5650#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:37:41,820 INFO L290 TraceCheckUtils]: 39: Hoare triple {5650#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {5657#(not (= |ULTIMATE.start_main_#t~mem43#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:41,820 INFO L290 TraceCheckUtils]: 40: Hoare triple {5657#(not (= |ULTIMATE.start_main_#t~mem43#1.base| (_ bv0 32)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {5661#(not (= |ULTIMATE.start_main_~mylist~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:41,820 INFO L290 TraceCheckUtils]: 41: Hoare triple {5661#(not (= |ULTIMATE.start_main_~mylist~0#1.base| (_ bv0 32)))} assume !(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {5528#false} is VALID [2022-02-20 23:37:41,821 INFO L290 TraceCheckUtils]: 42: Hoare triple {5528#false} assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem33#1.base, search_list_#t~mem33#1.offset, search_list_#t~mem31#1, search_list_#t~short32#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {5528#false} is VALID [2022-02-20 23:37:41,821 INFO L290 TraceCheckUtils]: 43: Hoare triple {5528#false} search_list_#t~short32#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {5528#false} is VALID [2022-02-20 23:37:41,821 INFO L290 TraceCheckUtils]: 44: Hoare triple {5528#false} assume search_list_#t~short32#1; {5528#false} is VALID [2022-02-20 23:37:41,821 INFO L290 TraceCheckUtils]: 45: Hoare triple {5528#false} assume !(1bv1 == #valid[search_list_~l#1.base]); {5528#false} is VALID [2022-02-20 23:37:41,821 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 23 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:41,821 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:42,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {5528#false} assume !(1bv1 == #valid[search_list_~l#1.base]); {5528#false} is VALID [2022-02-20 23:37:42,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {5528#false} assume search_list_#t~short32#1; {5528#false} is VALID [2022-02-20 23:37:42,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {5528#false} search_list_#t~short32#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {5528#false} is VALID [2022-02-20 23:37:42,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {5528#false} assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem33#1.base, search_list_#t~mem33#1.offset, search_list_#t~mem31#1, search_list_#t~short32#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {5528#false} is VALID [2022-02-20 23:37:42,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {5661#(not (= |ULTIMATE.start_main_~mylist~0#1.base| (_ bv0 32)))} assume !(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {5528#false} is VALID [2022-02-20 23:37:42,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {5657#(not (= |ULTIMATE.start_main_#t~mem43#1.base| (_ bv0 32)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {5661#(not (= |ULTIMATE.start_main_~mylist~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {5695#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|)) (_ bv0 32)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {5657#(not (= |ULTIMATE.start_main_#t~mem43#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,161 INFO L290 TraceCheckUtils]: 38: Hoare triple {5695#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|)) (_ bv0 32)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {5695#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:37:42,162 INFO L290 TraceCheckUtils]: 37: Hoare triple {5702#(not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {5695#(not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (bvadd (_ bv4 32) |ULTIMATE.start_main_~mylist~0#1.offset|)) (_ bv0 32)))} is VALID [2022-02-20 23:37:42,162 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5709#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} {5608#(not (= (_ bv0 32) ~head~0.base))} #166#return; {5702#(not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)))} is VALID [2022-02-20 23:37:42,163 INFO L290 TraceCheckUtils]: 35: Hoare triple {5709#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} assume true; {5709#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,163 INFO L290 TraceCheckUtils]: 34: Hoare triple {5716#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) (_ bv0 32))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5709#(or (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32))) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {5716#(or (= |old(~head~0.base)| (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) (_ bv0 32))))} is VALID [2022-02-20 23:37:42,166 INFO L290 TraceCheckUtils]: 32: Hoare triple {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,166 INFO L290 TraceCheckUtils]: 31: Hoare triple {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,167 INFO L272 TraceCheckUtils]: 29: Hoare triple {5608#(not (= (_ bv0 32) ~head~0.base))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {5720#(or (not (= (_ bv0 32) ~head~0.base)) (= |old(~head~0.base)| (_ bv0 32)))} is VALID [2022-02-20 23:37:42,167 INFO L290 TraceCheckUtils]: 28: Hoare triple {5608#(not (= (_ bv0 32) ~head~0.base))} havoc main_#t~ret41#1; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:42,168 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5608#(not (= (_ bv0 32) ~head~0.base))} {5527#true} #164#return; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:42,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {5608#(not (= (_ bv0 32) ~head~0.base))} assume true; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:42,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5608#(not (= (_ bv0 32) ~head~0.base))} is VALID [2022-02-20 23:37:42,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:42,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:42,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {5595#(not (= insert_list_~l.base (_ bv0 32)))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:42,170 INFO L290 TraceCheckUtils]: 21: Hoare triple {5527#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5595#(not (= insert_list_~l.base (_ bv0 32)))} is VALID [2022-02-20 23:37:42,171 INFO L272 TraceCheckUtils]: 20: Hoare triple {5527#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {5527#true} is VALID [2022-02-20 23:37:42,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {5527#true} havoc main_#t~ret40#1; {5527#true} is VALID [2022-02-20 23:37:42,171 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5527#true} {5527#true} #162#return; {5527#true} is VALID [2022-02-20 23:37:42,171 INFO L290 TraceCheckUtils]: 17: Hoare triple {5527#true} assume true; {5527#true} is VALID [2022-02-20 23:37:42,171 INFO L290 TraceCheckUtils]: 16: Hoare triple {5527#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5527#true} is VALID [2022-02-20 23:37:42,171 INFO L290 TraceCheckUtils]: 15: Hoare triple {5527#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L290 TraceCheckUtils]: 14: Hoare triple {5527#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {5527#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L290 TraceCheckUtils]: 12: Hoare triple {5527#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L272 TraceCheckUtils]: 11: Hoare triple {5527#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {5527#true} havoc main_#t~ret39#1; {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {5527#true} {5527#true} #160#return; {5527#true} is VALID [2022-02-20 23:37:42,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {5527#true} assume true; {5527#true} is VALID [2022-02-20 23:37:42,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {5527#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {5527#true} is VALID [2022-02-20 23:37:42,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {5527#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {5527#true} is VALID [2022-02-20 23:37:42,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {5527#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {5527#true} is VALID [2022-02-20 23:37:42,173 INFO L290 TraceCheckUtils]: 4: Hoare triple {5527#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {5527#true} is VALID [2022-02-20 23:37:42,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {5527#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {5527#true} is VALID [2022-02-20 23:37:42,173 INFO L272 TraceCheckUtils]: 2: Hoare triple {5527#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {5527#true} is VALID [2022-02-20 23:37:42,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {5527#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {5527#true} is VALID [2022-02-20 23:37:42,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {5527#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {5527#true} is VALID [2022-02-20 23:37:42,174 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 23 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:37:42,174 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:42,174 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1843546879] [2022-02-20 23:37:42,175 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1843546879] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:37:42,175 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:42,175 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 17 [2022-02-20 23:37:42,175 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [653940942] [2022-02-20 23:37:42,175 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:42,176 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-02-20 23:37:42,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:42,176 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:42,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:42,250 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 23:37:42,250 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:42,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 23:37:42,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=231, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:37:42,250 INFO L87 Difference]: Start difference. First operand 102 states and 119 transitions. Second operand has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:45,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,198 INFO L93 Difference]: Finished difference Result 128 states and 136 transitions. [2022-02-20 23:37:45,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 23:37:45,198 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-02-20 23:37:45,198 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:45,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:45,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 137 transitions. [2022-02-20 23:37:45,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:45,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 137 transitions. [2022-02-20 23:37:45,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 137 transitions. [2022-02-20 23:37:45,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:45,347 INFO L225 Difference]: With dead ends: 128 [2022-02-20 23:37:45,347 INFO L226 Difference]: Without dead ends: 128 [2022-02-20 23:37:45,347 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 146 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=233, Invalid=957, Unknown=0, NotChecked=0, Total=1190 [2022-02-20 23:37:45,348 INFO L933 BasicCegarLoop]: 71 mSDtfsCounter, 220 mSDsluCounter, 711 mSDsCounter, 0 mSdLazyCounter, 473 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 220 SdHoareTripleChecker+Valid, 782 SdHoareTripleChecker+Invalid, 514 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 473 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:45,348 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [220 Valid, 782 Invalid, 514 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 473 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 23:37:45,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-02-20 23:37:45,350 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 102. [2022-02-20 23:37:45,350 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:45,350 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 102 states, 71 states have (on average 1.5492957746478873) internal successors, (110), 95 states have internal predecessors, (110), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:45,350 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 102 states, 71 states have (on average 1.5492957746478873) internal successors, (110), 95 states have internal predecessors, (110), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:45,351 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 102 states, 71 states have (on average 1.5492957746478873) internal successors, (110), 95 states have internal predecessors, (110), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:45,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,353 INFO L93 Difference]: Finished difference Result 128 states and 136 transitions. [2022-02-20 23:37:45,353 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 136 transitions. [2022-02-20 23:37:45,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:45,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:45,354 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 71 states have (on average 1.5492957746478873) internal successors, (110), 95 states have internal predecessors, (110), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 128 states. [2022-02-20 23:37:45,354 INFO L87 Difference]: Start difference. First operand has 102 states, 71 states have (on average 1.5492957746478873) internal successors, (110), 95 states have internal predecessors, (110), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 128 states. [2022-02-20 23:37:45,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,356 INFO L93 Difference]: Finished difference Result 128 states and 136 transitions. [2022-02-20 23:37:45,356 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 136 transitions. [2022-02-20 23:37:45,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:45,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:45,357 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:45,357 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:45,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 71 states have (on average 1.5492957746478873) internal successors, (110), 95 states have internal predecessors, (110), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:45,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 118 transitions. [2022-02-20 23:37:45,359 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 118 transitions. Word has length 46 [2022-02-20 23:37:45,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:45,359 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 118 transitions. [2022-02-20 23:37:45,359 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.588235294117647) internal successors, (44), 14 states have internal predecessors, (44), 2 states have call successors, (5), 3 states have call predecessors, (5), 4 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 23:37:45,360 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 118 transitions. [2022-02-20 23:37:45,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 23:37:45,360 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:45,360 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:45,384 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:45,569 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:45,569 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:45,569 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:45,569 INFO L85 PathProgramCache]: Analyzing trace with hash 1152050001, now seen corresponding path program 2 times [2022-02-20 23:37:45,570 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:45,570 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1273945527] [2022-02-20 23:37:45,570 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:37:45,570 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:45,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:45,571 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:45,573 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2022-02-20 23:37:45,875 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:37:45,875 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:37:45,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 46 conjunts are in the unsatisfiable core [2022-02-20 23:37:45,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:45,909 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:45,940 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-02-20 23:37:46,095 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 13 treesize of output 9 [2022-02-20 23:37:46,225 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:37:46,225 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:37:46,467 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:37:46,476 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 13 treesize of output 9 [2022-02-20 23:37:46,635 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:46,635 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 34 [2022-02-20 23:37:46,647 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:46,662 INFO L356 Elim1Store]: treesize reduction 45, result has 42.3 percent of original size [2022-02-20 23:37:46,662 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 61 [2022-02-20 23:37:46,842 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:37:47,030 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:37:47,031 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 65 treesize of output 32 [2022-02-20 23:37:47,424 INFO L290 TraceCheckUtils]: 0: Hoare triple {6340#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {6340#true} is VALID [2022-02-20 23:37:47,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {6340#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {6340#true} is VALID [2022-02-20 23:37:47,424 INFO L272 TraceCheckUtils]: 2: Hoare triple {6340#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {6340#true} is VALID [2022-02-20 23:37:47,424 INFO L290 TraceCheckUtils]: 3: Hoare triple {6340#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6340#true} is VALID [2022-02-20 23:37:47,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {6340#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {6340#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {6340#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {6340#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {6340#true} assume true; {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6340#true} {6340#true} #160#return; {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {6340#true} havoc main_#t~ret39#1; {6340#true} is VALID [2022-02-20 23:37:47,425 INFO L272 TraceCheckUtils]: 11: Hoare triple {6340#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {6340#true} is VALID [2022-02-20 23:37:47,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {6340#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,428 INFO L290 TraceCheckUtils]: 17: Hoare triple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,428 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} {6340#true} #162#return; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret40#1; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:47,429 INFO L272 TraceCheckUtils]: 20: Hoare triple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {6407#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} is VALID [2022-02-20 23:37:47,429 INFO L290 TraceCheckUtils]: 21: Hoare triple {6407#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:47,430 INFO L290 TraceCheckUtils]: 22: Hoare triple {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:47,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:47,433 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {6421#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:47,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {6421#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:47,434 INFO L290 TraceCheckUtils]: 26: Hoare triple {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:47,435 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} #164#return; {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:47,436 INFO L290 TraceCheckUtils]: 28: Hoare triple {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret41#1; {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:47,436 INFO L272 TraceCheckUtils]: 29: Hoare triple {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {6439#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:47,437 INFO L290 TraceCheckUtils]: 30: Hoare triple {6439#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:47,438 INFO L290 TraceCheckUtils]: 31: Hoare triple {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:47,439 INFO L290 TraceCheckUtils]: 32: Hoare triple {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {6450#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_879 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_879) |#memory_$Pointer$.base|)) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:47,457 INFO L290 TraceCheckUtils]: 33: Hoare triple {6450#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_879 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_879) |#memory_$Pointer$.base|)) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {6454#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_1) |#memory_$Pointer$.base|))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:47,458 INFO L290 TraceCheckUtils]: 34: Hoare triple {6454#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_1) |#memory_$Pointer$.base|))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:47,460 INFO L290 TraceCheckUtils]: 35: Hoare triple {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} assume true; {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:47,463 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} #166#return; {6465#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (= (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))))) (_ bv0 1)))} is VALID [2022-02-20 23:37:47,464 INFO L290 TraceCheckUtils]: 37: Hoare triple {6465#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (= (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))))) (_ bv0 1)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:37:47,465 INFO L290 TraceCheckUtils]: 38: Hoare triple {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:37:47,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {6476#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))))} is VALID [2022-02-20 23:37:47,467 INFO L290 TraceCheckUtils]: 40: Hoare triple {6476#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} is VALID [2022-02-20 23:37:47,468 INFO L290 TraceCheckUtils]: 41: Hoare triple {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} is VALID [2022-02-20 23:37:47,469 INFO L290 TraceCheckUtils]: 42: Hoare triple {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {6487#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv0 1)))} is VALID [2022-02-20 23:37:47,470 INFO L290 TraceCheckUtils]: 43: Hoare triple {6487#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv0 1)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} is VALID [2022-02-20 23:37:47,471 INFO L290 TraceCheckUtils]: 44: Hoare triple {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} is VALID [2022-02-20 23:37:47,471 INFO L290 TraceCheckUtils]: 45: Hoare triple {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {6341#false} is VALID [2022-02-20 23:37:47,472 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 31 proven. 11 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:37:47,472 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:47,911 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:37:47,912 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 20 treesize of output 24 [2022-02-20 23:37:47,933 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_arrayElimArr_2 (Array (_ BitVec 32) (_ BitVec 32))) (v_~head~0.base_106 (_ BitVec 32))) (or (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_106)))) (not (= (select v_arrayElimArr_2 (_ bv4 32)) c_~head~0.base)) (= (select (store |c_#valid| v_~head~0.base_106 (_ bv1 1)) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_106 v_arrayElimArr_2) c_~head~0.base) (bvadd c_~head~0.offset (_ bv4 32)))) (_ bv1 1)))) is different from false [2022-02-20 23:37:47,935 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:47,935 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1273945527] [2022-02-20 23:37:47,935 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1273945527] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:47,935 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1518739699] [2022-02-20 23:37:47,935 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:37:47,935 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:47,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:37:47,936 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:37:47,955 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (13)] Waiting until timeout for monitored process [2022-02-20 23:37:48,241 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:37:48,241 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:37:48,247 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 47 conjunts are in the unsatisfiable core [2022-02-20 23:37:48,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:48,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:48,304 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-02-20 23:37:48,397 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 13 treesize of output 9 [2022-02-20 23:37:48,468 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:37:48,468 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:37:48,662 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:37:48,671 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 13 treesize of output 9 [2022-02-20 23:37:48,790 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:48,791 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 50 [2022-02-20 23:37:48,797 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:48,819 INFO L356 Elim1Store]: treesize reduction 69, result has 41.5 percent of original size [2022-02-20 23:37:48,819 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 49 treesize of output 77 [2022-02-20 23:37:48,967 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:37:49,121 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:37:49,121 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 65 treesize of output 32 [2022-02-20 23:37:49,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {6340#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {6340#true} is VALID [2022-02-20 23:37:49,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {6340#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {6340#true} is VALID [2022-02-20 23:37:49,476 INFO L272 TraceCheckUtils]: 2: Hoare triple {6340#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {6340#true} is VALID [2022-02-20 23:37:49,476 INFO L290 TraceCheckUtils]: 3: Hoare triple {6340#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L290 TraceCheckUtils]: 4: Hoare triple {6340#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {6340#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L290 TraceCheckUtils]: 6: Hoare triple {6340#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {6340#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {6340#true} assume true; {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {6340#true} {6340#true} #160#return; {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L290 TraceCheckUtils]: 10: Hoare triple {6340#true} havoc main_#t~ret39#1; {6340#true} is VALID [2022-02-20 23:37:49,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {6340#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {6340#true} is VALID [2022-02-20 23:37:49,478 INFO L290 TraceCheckUtils]: 12: Hoare triple {6340#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,478 INFO L290 TraceCheckUtils]: 13: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {6381#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,480 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} {6340#true} #162#return; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret40#1; {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:37:49,481 INFO L272 TraceCheckUtils]: 20: Hoare triple {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {6407#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} is VALID [2022-02-20 23:37:49,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {6407#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:49,481 INFO L290 TraceCheckUtils]: 22: Hoare triple {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:49,482 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:49,483 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {6421#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:49,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {6421#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:49,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:49,485 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6425#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {6394#(= (select |#valid| ~head~0.base) (_ bv1 1))} #164#return; {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:49,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret41#1; {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:49,486 INFO L272 TraceCheckUtils]: 29: Hoare triple {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {6439#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:49,487 INFO L290 TraceCheckUtils]: 30: Hoare triple {6439#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:49,488 INFO L290 TraceCheckUtils]: 31: Hoare triple {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:49,489 INFO L290 TraceCheckUtils]: 32: Hoare triple {6443#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {6631#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_991 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_991) |#memory_$Pointer$.base|)) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:49,491 INFO L290 TraceCheckUtils]: 33: Hoare triple {6631#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_991 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_991) |#memory_$Pointer$.base|)) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {6454#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_1) |#memory_$Pointer$.base|))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:49,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {6454#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_1) |#memory_$Pointer$.base|))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_878) |#valid|)))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:49,493 INFO L290 TraceCheckUtils]: 35: Hoare triple {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} assume true; {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} is VALID [2022-02-20 23:37:49,495 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6458#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_1 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_1) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_1 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_ArrVal_878 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_878) |#valid|)))} {6432#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} #166#return; {6465#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (= (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))))) (_ bv0 1)))} is VALID [2022-02-20 23:37:49,496 INFO L290 TraceCheckUtils]: 37: Hoare triple {6465#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (= (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))))) (_ bv0 1)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:37:49,497 INFO L290 TraceCheckUtils]: 38: Hoare triple {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:37:49,502 INFO L290 TraceCheckUtils]: 39: Hoare triple {6469#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {6476#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))))} is VALID [2022-02-20 23:37:49,504 INFO L290 TraceCheckUtils]: 40: Hoare triple {6476#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} is VALID [2022-02-20 23:37:49,505 INFO L290 TraceCheckUtils]: 41: Hoare triple {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} is VALID [2022-02-20 23:37:49,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {6480#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv1 1)) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|) (_ bv4 32))) (_ bv4 32)))) (_ bv1 1))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {6487#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv0 1)))} is VALID [2022-02-20 23:37:49,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {6487#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv0 1)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} is VALID [2022-02-20 23:37:49,508 INFO L290 TraceCheckUtils]: 44: Hoare triple {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} is VALID [2022-02-20 23:37:49,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {6491#(and (exists ((v_arrayElimCell_20 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_35| (_ BitVec 32))) (and (not (= v_arrayElimCell_20 |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (not (= v_arrayElimCell_20 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_35|)) (= (select |#valid| v_arrayElimCell_20) (_ bv1 1)))) (= (bvadd (_ bv1 1) (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv0 1)))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {6341#false} is VALID [2022-02-20 23:37:49,509 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 29 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:37:49,509 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:49,784 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:37:49,784 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 20 treesize of output 24 [2022-02-20 23:37:49,810 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_114 (_ BitVec 32)) (v_arrayElimArr_4 (Array (_ BitVec 32) (_ BitVec 32)))) (or (not (= (select v_arrayElimArr_4 (_ bv4 32)) c_~head~0.base)) (not (= (bvneg (select |c_#valid| v_~head~0.base_114)) (_ bv0 1))) (= (_ bv1 1) (select (store |c_#valid| v_~head~0.base_114 (_ bv1 1)) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_114 v_arrayElimArr_4) c_~head~0.base) (bvadd c_~head~0.offset (_ bv4 32))))))) is different from false [2022-02-20 23:37:49,812 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1518739699] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:49,812 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:49,812 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2022-02-20 23:37:49,812 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1035351906] [2022-02-20 23:37:49,812 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:49,813 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 46 [2022-02-20 23:37:49,813 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:49,814 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:37:49,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:49,874 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 23:37:49,874 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:49,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 23:37:49,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=625, Unknown=3, NotChecked=102, Total=812 [2022-02-20 23:37:49,875 INFO L87 Difference]: Start difference. First operand 102 states and 118 transitions. Second operand has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:37:51,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:51,506 INFO L93 Difference]: Finished difference Result 119 states and 138 transitions. [2022-02-20 23:37:51,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-02-20 23:37:51,506 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 46 [2022-02-20 23:37:51,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:51,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:37:51,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 116 transitions. [2022-02-20 23:37:51,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:37:51,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 116 transitions. [2022-02-20 23:37:51,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 116 transitions. [2022-02-20 23:37:51,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:51,653 INFO L225 Difference]: With dead ends: 119 [2022-02-20 23:37:51,653 INFO L226 Difference]: Without dead ends: 119 [2022-02-20 23:37:51,653 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 83 SyntacticMatches, 5 SemanticMatches, 37 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 314 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=166, Invalid=1162, Unknown=12, NotChecked=142, Total=1482 [2022-02-20 23:37:51,654 INFO L933 BasicCegarLoop]: 76 mSDtfsCounter, 25 mSDsluCounter, 350 mSDsCounter, 0 mSdLazyCounter, 172 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 426 SdHoareTripleChecker+Invalid, 470 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 172 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 281 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:51,654 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 426 Invalid, 470 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 172 Invalid, 0 Unknown, 281 Unchecked, 0.3s Time] [2022-02-20 23:37:51,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-02-20 23:37:51,656 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 105. [2022-02-20 23:37:51,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:51,657 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 105 states, 74 states have (on average 1.554054054054054) internal successors, (115), 98 states have internal predecessors, (115), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:51,657 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 105 states, 74 states have (on average 1.554054054054054) internal successors, (115), 98 states have internal predecessors, (115), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:51,657 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 105 states, 74 states have (on average 1.554054054054054) internal successors, (115), 98 states have internal predecessors, (115), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:51,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:51,659 INFO L93 Difference]: Finished difference Result 119 states and 138 transitions. [2022-02-20 23:37:51,660 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 138 transitions. [2022-02-20 23:37:51,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:51,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:51,660 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 74 states have (on average 1.554054054054054) internal successors, (115), 98 states have internal predecessors, (115), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 119 states. [2022-02-20 23:37:51,660 INFO L87 Difference]: Start difference. First operand has 105 states, 74 states have (on average 1.554054054054054) internal successors, (115), 98 states have internal predecessors, (115), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 119 states. [2022-02-20 23:37:51,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:51,663 INFO L93 Difference]: Finished difference Result 119 states and 138 transitions. [2022-02-20 23:37:51,663 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 138 transitions. [2022-02-20 23:37:51,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:51,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:51,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:51,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:51,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 74 states have (on average 1.554054054054054) internal successors, (115), 98 states have internal predecessors, (115), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:37:51,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 123 transitions. [2022-02-20 23:37:51,666 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 123 transitions. Word has length 46 [2022-02-20 23:37:51,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:51,666 INFO L470 AbstractCegarLoop]: Abstraction has 105 states and 123 transitions. [2022-02-20 23:37:51,666 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.0) internal successors, (40), 18 states have internal predecessors, (40), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:37:51,666 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 123 transitions. [2022-02-20 23:37:51,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 23:37:51,667 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:51,667 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:51,684 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:51,887 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:52,083 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:37:52,084 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:37:52,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:52,084 INFO L85 PathProgramCache]: Analyzing trace with hash 1152050002, now seen corresponding path program 2 times [2022-02-20 23:37:52,084 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:37:52,084 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [134409837] [2022-02-20 23:37:52,085 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:37:52,085 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:37:52,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:37:52,086 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:37:52,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2022-02-20 23:37:52,431 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:37:52,431 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:37:52,447 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 65 conjunts are in the unsatisfiable core [2022-02-20 23:37:52,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:52,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:52,504 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-02-20 23:37:52,508 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-02-20 23:37:52,739 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 13 treesize of output 9 [2022-02-20 23:37:52,744 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 13 treesize of output 9 [2022-02-20 23:37:52,889 INFO L356 Elim1Store]: treesize reduction 23, result has 47.7 percent of original size [2022-02-20 23:37:52,889 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 1 case distinctions, treesize of input 18 treesize of output 30 [2022-02-20 23:37:52,912 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:37:52,912 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:37:53,224 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:37:53,235 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:37:53,431 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:53,432 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 41 [2022-02-20 23:37:53,441 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:53,441 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 22 [2022-02-20 23:37:53,447 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:53,448 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 24 [2022-02-20 23:37:53,454 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:53,460 INFO L356 Elim1Store]: treesize reduction 4, result has 77.8 percent of original size [2022-02-20 23:37:53,460 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 38 treesize of output 30 [2022-02-20 23:37:53,894 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:37:53,906 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:37:53,906 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 87 treesize of output 47 [2022-02-20 23:37:53,946 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:37:53,947 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 18 [2022-02-20 23:37:54,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {7188#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {7188#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L272 TraceCheckUtils]: 2: Hoare triple {7188#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 3: Hoare triple {7188#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {7188#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {7188#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {7188#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {7188#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7188#true} is VALID [2022-02-20 23:37:54,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {7188#true} assume true; {7188#true} is VALID [2022-02-20 23:37:54,125 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7188#true} {7188#true} #160#return; {7188#true} is VALID [2022-02-20 23:37:54,125 INFO L290 TraceCheckUtils]: 10: Hoare triple {7188#true} havoc main_#t~ret39#1; {7188#true} is VALID [2022-02-20 23:37:54,125 INFO L272 TraceCheckUtils]: 11: Hoare triple {7188#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {7188#true} is VALID [2022-02-20 23:37:54,126 INFO L290 TraceCheckUtils]: 12: Hoare triple {7188#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:54,128 INFO L290 TraceCheckUtils]: 17: Hoare triple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:54,129 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {7188#true} #162#return; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:54,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret40#1; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:54,130 INFO L272 TraceCheckUtils]: 20: Hoare triple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {7255#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} is VALID [2022-02-20 23:37:54,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {7255#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,132 INFO L290 TraceCheckUtils]: 23: Hoare triple {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,133 INFO L290 TraceCheckUtils]: 24: Hoare triple {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {7269#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:54,134 INFO L290 TraceCheckUtils]: 25: Hoare triple {7269#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:54,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:54,137 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} #164#return; {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:54,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret41#1; {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:54,138 INFO L272 TraceCheckUtils]: 29: Hoare triple {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {7287#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:54,139 INFO L290 TraceCheckUtils]: 30: Hoare triple {7287#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7291#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:54,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {7291#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {7291#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:54,141 INFO L290 TraceCheckUtils]: 32: Hoare triple {7291#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {7298#(and (exists ((v_ArrVal_1107 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1107))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1108 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1108) |#memory_$Pointer$.base|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,145 INFO L290 TraceCheckUtils]: 33: Hoare triple {7298#(and (exists ((v_ArrVal_1107 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1107))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1108 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1108) |#memory_$Pointer$.base|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {7302#(and (exists ((v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_6) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_6 (bvadd (_ bv4 32) insert_list_~l.offset))))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (exists ((v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_5) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_5 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:54,146 INFO L290 TraceCheckUtils]: 34: Hoare triple {7302#(and (exists ((v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_6) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_6 (bvadd (_ bv4 32) insert_list_~l.offset))))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (exists ((v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_5) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_5 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_5) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_5 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_6 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_6) |#memory_$Pointer$.offset|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:37:54,147 INFO L290 TraceCheckUtils]: 35: Hoare triple {7306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_5) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_5 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_6 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_6) |#memory_$Pointer$.offset|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} assume true; {7306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_5) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_5 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_6 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_6) |#memory_$Pointer$.offset|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:37:54,151 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7306#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_5 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_5) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_5 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_6 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_6 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|) (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_6) |#memory_$Pointer$.offset|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} #166#return; {7313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:54,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {7313#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {7317#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2022-02-20 23:37:54,154 INFO L290 TraceCheckUtils]: 38: Hoare triple {7317#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {7317#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2022-02-20 23:37:54,155 INFO L290 TraceCheckUtils]: 39: Hoare triple {7317#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {7324#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:37:54,156 INFO L290 TraceCheckUtils]: 40: Hoare triple {7324#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {7328#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)) (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)))))} is VALID [2022-02-20 23:37:54,158 INFO L290 TraceCheckUtils]: 41: Hoare triple {7328#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)) (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {7328#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)) (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)))))} is VALID [2022-02-20 23:37:54,160 INFO L290 TraceCheckUtils]: 42: Hoare triple {7328#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)) (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|) (_ bv4 32))) (_ bv4 32)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {7335#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)))))} is VALID [2022-02-20 23:37:54,160 INFO L290 TraceCheckUtils]: 43: Hoare triple {7335#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {7339#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)))))} is VALID [2022-02-20 23:37:54,161 INFO L290 TraceCheckUtils]: 44: Hoare triple {7339#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {7339#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)))))} is VALID [2022-02-20 23:37:54,161 INFO L290 TraceCheckUtils]: 45: Hoare triple {7339#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_43| (_ BitVec 32))) (and (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_43|)))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)), #length[main_~mylist~0#1.base]) && ~bvule32(~bvadd32(4bv32, main_~mylist~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset))); {7189#false} is VALID [2022-02-20 23:37:54,162 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 17 proven. 25 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:37:54,162 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:55,122 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:37:55,123 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 66 treesize of output 70 [2022-02-20 23:37:55,129 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:37:55,130 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 63 treesize of output 61 [2022-02-20 23:37:55,135 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-02-20 23:37:55,278 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-02-20 23:37:55,306 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_122 (_ BitVec 32)) (v_arrayElimArr_7 (Array (_ BitVec 32) (_ BitVec 32))) (v_arrayElimArr_8 (Array (_ BitVec 32) (_ BitVec 32)))) (or (let ((.cse1 (bvadd c_~head~0.offset (_ bv4 32)))) (let ((.cse2 (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_122 v_arrayElimArr_8) c_~head~0.base) .cse1))) (let ((.cse0 (bvadd (_ bv8 32) .cse2))) (and (bvule .cse0 (select (store |c_#length| v_~head~0.base_122 (_ bv8 32)) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_122 v_arrayElimArr_7) c_~head~0.base) .cse1))) (bvule (bvadd (_ bv4 32) .cse2) .cse0))))) (not (= (bvneg (bvneg (select |c_#valid| v_~head~0.base_122))) (_ bv0 1))) (not (= (select v_arrayElimArr_7 (_ bv4 32)) c_~head~0.base)) (not (= c_~head~0.offset (select v_arrayElimArr_8 (_ bv4 32)))))) is different from false [2022-02-20 23:37:55,309 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:37:55,309 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [134409837] [2022-02-20 23:37:55,309 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [134409837] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:55,309 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1018350691] [2022-02-20 23:37:55,310 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:37:55,310 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:37:55,310 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:37:55,311 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:37:55,314 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (15)] Waiting until timeout for monitored process [2022-02-20 23:37:55,669 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:37:55,669 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:37:55,692 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 64 conjunts are in the unsatisfiable core [2022-02-20 23:37:55,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:55,715 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:55,749 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-02-20 23:37:55,755 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-02-20 23:37:55,959 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 13 treesize of output 9 [2022-02-20 23:37:55,963 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 13 treesize of output 9 [2022-02-20 23:37:56,034 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:37:56,034 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:37:56,044 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2022-02-20 23:37:56,503 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:37:56,516 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:37:56,814 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:56,816 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 41 [2022-02-20 23:37:56,821 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:56,822 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 22 [2022-02-20 23:37:56,828 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:56,829 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 24 [2022-02-20 23:37:56,842 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:56,849 INFO L356 Elim1Store]: treesize reduction 4, result has 77.8 percent of original size [2022-02-20 23:37:56,849 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 38 treesize of output 30 [2022-02-20 23:37:57,511 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:37:57,520 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:37:57,521 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 87 treesize of output 47 [2022-02-20 23:37:57,549 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:37:57,549 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 18 [2022-02-20 23:37:57,663 INFO L290 TraceCheckUtils]: 0: Hoare triple {7188#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {7188#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L272 TraceCheckUtils]: 2: Hoare triple {7188#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 3: Hoare triple {7188#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 4: Hoare triple {7188#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {7188#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 6: Hoare triple {7188#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {7188#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {7188#true} assume true; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7188#true} {7188#true} #160#return; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L290 TraceCheckUtils]: 10: Hoare triple {7188#true} havoc main_#t~ret39#1; {7188#true} is VALID [2022-02-20 23:37:57,664 INFO L272 TraceCheckUtils]: 11: Hoare triple {7188#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {7188#true} is VALID [2022-02-20 23:37:57,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {7188#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,667 INFO L290 TraceCheckUtils]: 14: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {7229#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:57,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:57,669 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {7188#true} #162#return; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:57,669 INFO L290 TraceCheckUtils]: 19: Hoare triple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret40#1; {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:37:57,669 INFO L272 TraceCheckUtils]: 20: Hoare triple {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {7255#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} is VALID [2022-02-20 23:37:57,670 INFO L290 TraceCheckUtils]: 21: Hoare triple {7255#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:37:57,672 INFO L290 TraceCheckUtils]: 24: Hoare triple {7259#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {7269#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:57,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {7269#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1101))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:57,674 INFO L290 TraceCheckUtils]: 26: Hoare triple {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:37:57,676 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7273#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1101 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1101) |#length|)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {7242#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} #164#return; {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:57,676 INFO L290 TraceCheckUtils]: 28: Hoare triple {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret41#1; {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:37:57,677 INFO L272 TraceCheckUtils]: 29: Hoare triple {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {7287#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:37:57,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {7287#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {7473#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} is VALID [2022-02-20 23:37:57,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {7473#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {7473#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} is VALID [2022-02-20 23:37:57,681 INFO L290 TraceCheckUtils]: 32: Hoare triple {7473#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {7480#(and (exists ((v_ArrVal_1226 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1226))) (exists ((v_ArrVal_1225 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1225) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} is VALID [2022-02-20 23:37:57,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {7480#(and (exists ((v_ArrVal_1226 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1226))) (exists ((v_ArrVal_1225 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1225) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {7484#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_9) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_9 (bvadd (_ bv4 32) insert_list_~l.offset))))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} is VALID [2022-02-20 23:37:57,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {7484#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_9) |#memory_$Pointer$.offset|) (= |old(~head~0.offset)| (select v_arrayElimArr_9 (bvadd (_ bv4 32) insert_list_~l.offset))))) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= |#length| (store |old(#length)| insert_list_~l.base v_ArrVal_1224))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {7488#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1224) |#length|)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_9 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_9)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} is VALID [2022-02-20 23:37:57,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {7488#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1224) |#length|)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_9 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_9)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} assume true; {7488#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1224) |#length|)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_9 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_9)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} is VALID [2022-02-20 23:37:57,689 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7488#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_ArrVal_1224 (_ BitVec 32))) (= (store |old(#length)| ~head~0.base v_ArrVal_1224) |#length|)) (exists ((v_arrayElimArr_9 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_9 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_9)))) (= ~head~0.offset (_ bv0 32)) (exists ((v_arrayElimArr_10 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_10) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_10 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))))} {7280#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| ~head~0.base)) (_ bv1 1))) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} #166#return; {7495#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))))} is VALID [2022-02-20 23:37:57,691 INFO L290 TraceCheckUtils]: 37: Hoare triple {7495#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {7499#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2022-02-20 23:37:57,691 INFO L290 TraceCheckUtils]: 38: Hoare triple {7499#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {7499#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2022-02-20 23:37:57,692 INFO L290 TraceCheckUtils]: 39: Hoare triple {7499#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {7506#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:37:57,694 INFO L290 TraceCheckUtils]: 40: Hoare triple {7506#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (not (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {7510#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_47| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_47|)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32))))} is VALID [2022-02-20 23:37:57,695 INFO L290 TraceCheckUtils]: 41: Hoare triple {7510#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_47| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_47|)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {7510#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_47| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_47|)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32))))} is VALID [2022-02-20 23:37:57,696 INFO L290 TraceCheckUtils]: 42: Hoare triple {7510#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_47| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.offset|) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_47|)) (= (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_47|) (_ bv4 32))) (_ bv4 32))) (_ bv8 32))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {7517#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:37:57,697 INFO L290 TraceCheckUtils]: 43: Hoare triple {7517#(and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {7521#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:57,697 INFO L290 TraceCheckUtils]: 44: Hoare triple {7521#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {7521#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} is VALID [2022-02-20 23:37:57,697 INFO L290 TraceCheckUtils]: 45: Hoare triple {7521#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)), #length[main_~mylist~0#1.base]) && ~bvule32(~bvadd32(4bv32, main_~mylist~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset))); {7189#false} is VALID [2022-02-20 23:37:57,698 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 17 proven. 25 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:37:57,698 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:58,041 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:37:58,041 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 66 treesize of output 70 [2022-02-20 23:37:58,049 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:37:58,049 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 63 treesize of output 61 [2022-02-20 23:37:58,067 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-02-20 23:37:58,169 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-02-20 23:37:58,278 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-02-20 23:37:58,352 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_130 (_ BitVec 32)) (v_arrayElimArr_11 (Array (_ BitVec 32) (_ BitVec 32))) (v_arrayElimArr_12 (Array (_ BitVec 32) (_ BitVec 32)))) (or (not (= (bvneg (select |c_#valid| v_~head~0.base_130)) (_ bv0 1))) (not (= c_~head~0.offset (select v_arrayElimArr_12 (_ bv4 32)))) (not (= (select v_arrayElimArr_11 (_ bv4 32)) c_~head~0.base)) (and (forall ((v_ArrVal_1241 (_ BitVec 32))) (let ((.cse0 (bvadd c_~head~0.offset (_ bv4 32)))) (bvule (bvadd (_ bv8 32) (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_130 v_arrayElimArr_12) c_~head~0.base) .cse0)) (select (store |c_#length| v_~head~0.base_130 v_ArrVal_1241) (select (select (store |c_#memory_$Pointer$.base| v_~head~0.base_130 v_arrayElimArr_11) c_~head~0.base) .cse0))))) (let ((.cse1 (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_130 v_arrayElimArr_12) c_~head~0.base) (bvadd c_~head~0.offset (_ bv4 32))))) (bvule (bvadd (_ bv4 32) .cse1) (bvadd (_ bv8 32) .cse1)))))) is different from false [2022-02-20 23:37:58,355 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1018350691] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:58,355 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:58,355 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 29 [2022-02-20 23:37:58,355 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1362757571] [2022-02-20 23:37:58,355 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:58,356 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 46 [2022-02-20 23:37:58,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:58,356 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 23:37:58,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:58,457 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-02-20 23:37:58,457 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:37:58,457 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-02-20 23:37:58,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=1154, Unknown=15, NotChecked=138, Total=1406 [2022-02-20 23:37:58,458 INFO L87 Difference]: Start difference. First operand 105 states and 123 transitions. Second operand has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 23:38:02,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,798 INFO L93 Difference]: Finished difference Result 113 states and 130 transitions. [2022-02-20 23:38:02,798 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-02-20 23:38:02,798 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 46 [2022-02-20 23:38:02,798 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:02,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 23:38:02,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 112 transitions. [2022-02-20 23:38:02,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 23:38:02,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 112 transitions. [2022-02-20 23:38:02,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 112 transitions. [2022-02-20 23:38:02,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:02,943 INFO L225 Difference]: With dead ends: 113 [2022-02-20 23:38:02,943 INFO L226 Difference]: Without dead ends: 113 [2022-02-20 23:38:02,944 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 77 SyntacticMatches, 2 SemanticMatches, 49 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 314 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=199, Invalid=2123, Unknown=38, NotChecked=190, Total=2550 [2022-02-20 23:38:02,944 INFO L933 BasicCegarLoop]: 76 mSDtfsCounter, 21 mSDsluCounter, 832 mSDsCounter, 0 mSdLazyCounter, 496 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 908 SdHoareTripleChecker+Invalid, 1004 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 496 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 497 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:02,944 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 908 Invalid, 1004 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 496 Invalid, 0 Unknown, 497 Unchecked, 1.1s Time] [2022-02-20 23:38:02,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-02-20 23:38:02,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 105. [2022-02-20 23:38:02,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:02,946 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 105 states, 74 states have (on average 1.5405405405405406) internal successors, (114), 98 states have internal predecessors, (114), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:02,947 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 105 states, 74 states have (on average 1.5405405405405406) internal successors, (114), 98 states have internal predecessors, (114), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:02,947 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 105 states, 74 states have (on average 1.5405405405405406) internal successors, (114), 98 states have internal predecessors, (114), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:02,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,948 INFO L93 Difference]: Finished difference Result 113 states and 130 transitions. [2022-02-20 23:38:02,948 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 130 transitions. [2022-02-20 23:38:02,948 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,949 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 74 states have (on average 1.5405405405405406) internal successors, (114), 98 states have internal predecessors, (114), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 113 states. [2022-02-20 23:38:02,949 INFO L87 Difference]: Start difference. First operand has 105 states, 74 states have (on average 1.5405405405405406) internal successors, (114), 98 states have internal predecessors, (114), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 113 states. [2022-02-20 23:38:02,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,950 INFO L93 Difference]: Finished difference Result 113 states and 130 transitions. [2022-02-20 23:38:02,951 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 130 transitions. [2022-02-20 23:38:02,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:02,951 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:02,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 74 states have (on average 1.5405405405405406) internal successors, (114), 98 states have internal predecessors, (114), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:02,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 122 transitions. [2022-02-20 23:38:02,952 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 122 transitions. Word has length 46 [2022-02-20 23:38:02,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:02,953 INFO L470 AbstractCegarLoop]: Abstraction has 105 states and 122 transitions. [2022-02-20 23:38:02,953 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 29 states have (on average 1.8275862068965518) internal successors, (53), 26 states have internal predecessors, (53), 3 states have call successors, (4), 3 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 23:38:02,953 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 122 transitions. [2022-02-20 23:38:02,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:38:02,953 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:02,954 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 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] [2022-02-20 23:38:02,959 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:03,164 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:03,354 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:03,354 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:38:03,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:03,355 INFO L85 PathProgramCache]: Analyzing trace with hash -363698114, now seen corresponding path program 2 times [2022-02-20 23:38:03,355 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:03,355 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [17597446] [2022-02-20 23:38:03,355 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:38:03,355 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:03,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:03,356 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:03,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2022-02-20 23:38:03,473 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 23:38:03,473 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:38:03,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:38:03,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:03,491 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:03,599 INFO L290 TraceCheckUtils]: 0: Hoare triple {8033#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {8033#true} is VALID [2022-02-20 23:38:03,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {8033#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {8033#true} is VALID [2022-02-20 23:38:03,599 INFO L272 TraceCheckUtils]: 2: Hoare triple {8033#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {8033#true} is VALID [2022-02-20 23:38:03,599 INFO L290 TraceCheckUtils]: 3: Hoare triple {8033#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8033#true} is VALID [2022-02-20 23:38:03,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {8033#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {8033#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {8033#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {8033#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {8033#true} assume true; {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8033#true} {8033#true} #160#return; {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 10: Hoare triple {8033#true} havoc main_#t~ret39#1; {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L272 TraceCheckUtils]: 11: Hoare triple {8033#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 12: Hoare triple {8033#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8033#true} is VALID [2022-02-20 23:38:03,600 INFO L290 TraceCheckUtils]: 13: Hoare triple {8033#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L290 TraceCheckUtils]: 14: Hoare triple {8033#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L290 TraceCheckUtils]: 15: Hoare triple {8033#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L290 TraceCheckUtils]: 16: Hoare triple {8033#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L290 TraceCheckUtils]: 17: Hoare triple {8033#true} assume true; {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8033#true} {8033#true} #162#return; {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {8033#true} havoc main_#t~ret40#1; {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L272 TraceCheckUtils]: 20: Hoare triple {8033#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {8033#true} is VALID [2022-02-20 23:38:03,601 INFO L290 TraceCheckUtils]: 21: Hoare triple {8033#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L290 TraceCheckUtils]: 22: Hoare triple {8033#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {8033#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {8033#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {8033#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {8033#true} assume true; {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8033#true} {8033#true} #164#return; {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {8033#true} havoc main_#t~ret41#1; {8033#true} is VALID [2022-02-20 23:38:03,602 INFO L272 TraceCheckUtils]: 29: Hoare triple {8033#true} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {8033#true} is VALID [2022-02-20 23:38:03,603 INFO L290 TraceCheckUtils]: 30: Hoare triple {8033#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8033#true} is VALID [2022-02-20 23:38:03,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {8033#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {8033#true} is VALID [2022-02-20 23:38:03,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {8033#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {8033#true} is VALID [2022-02-20 23:38:03,603 INFO L290 TraceCheckUtils]: 33: Hoare triple {8033#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {8137#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,604 INFO L290 TraceCheckUtils]: 34: Hoare triple {8137#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,605 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} {8033#true} #166#return; {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,606 INFO L290 TraceCheckUtils]: 37: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,606 INFO L290 TraceCheckUtils]: 38: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,606 INFO L290 TraceCheckUtils]: 39: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,607 INFO L290 TraceCheckUtils]: 41: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,607 INFO L290 TraceCheckUtils]: 42: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,607 INFO L290 TraceCheckUtils]: 43: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,608 INFO L290 TraceCheckUtils]: 44: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume !(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:03,608 INFO L290 TraceCheckUtils]: 45: Hoare triple {8141#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem33#1.base, search_list_#t~mem33#1.offset, search_list_#t~mem31#1, search_list_#t~short32#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {8175#(= (select |#valid| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:03,608 INFO L290 TraceCheckUtils]: 46: Hoare triple {8175#(= (select |#valid| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 1))} search_list_#t~short32#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {8175#(= (select |#valid| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:03,609 INFO L290 TraceCheckUtils]: 47: Hoare triple {8175#(= (select |#valid| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 1))} assume search_list_#t~short32#1; {8175#(= (select |#valid| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:38:03,609 INFO L290 TraceCheckUtils]: 48: Hoare triple {8175#(= (select |#valid| |ULTIMATE.start_search_list_~l#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[search_list_~l#1.base]); {8034#false} is VALID [2022-02-20 23:38:03,609 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-02-20 23:38:03,609 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:03,610 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:03,610 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [17597446] [2022-02-20 23:38:03,610 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [17597446] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:03,610 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:03,610 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:38:03,610 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [165795599] [2022-02-20 23:38:03,610 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:03,611 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 49 [2022-02-20 23:38:03,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:03,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:03,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:03,642 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:03,642 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:03,642 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:03,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:03,644 INFO L87 Difference]: Start difference. First operand 105 states and 122 transitions. Second operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:04,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:04,293 INFO L93 Difference]: Finished difference Result 168 states and 182 transitions. [2022-02-20 23:38:04,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:38:04,293 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 49 [2022-02-20 23:38:04,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:04,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:04,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 170 transitions. [2022-02-20 23:38:04,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:04,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 170 transitions. [2022-02-20 23:38:04,296 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 170 transitions. [2022-02-20 23:38:04,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:04,452 INFO L225 Difference]: With dead ends: 168 [2022-02-20 23:38:04,452 INFO L226 Difference]: Without dead ends: 168 [2022-02-20 23:38:04,452 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:04,453 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 170 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 170 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:04,453 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [170 Valid, 150 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:38:04,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2022-02-20 23:38:04,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 110. [2022-02-20 23:38:04,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:04,455 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand has 110 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 103 states have internal predecessors, (123), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:04,455 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand has 110 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 103 states have internal predecessors, (123), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:04,455 INFO L87 Difference]: Start difference. First operand 168 states. Second operand has 110 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 103 states have internal predecessors, (123), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:04,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:04,457 INFO L93 Difference]: Finished difference Result 168 states and 182 transitions. [2022-02-20 23:38:04,457 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 182 transitions. [2022-02-20 23:38:04,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:04,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:04,458 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 103 states have internal predecessors, (123), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 168 states. [2022-02-20 23:38:04,458 INFO L87 Difference]: Start difference. First operand has 110 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 103 states have internal predecessors, (123), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 168 states. [2022-02-20 23:38:04,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:04,461 INFO L93 Difference]: Finished difference Result 168 states and 182 transitions. [2022-02-20 23:38:04,461 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 182 transitions. [2022-02-20 23:38:04,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:04,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:04,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:04,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:04,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 79 states have (on average 1.5569620253164558) internal successors, (123), 103 states have internal predecessors, (123), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:04,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 131 transitions. [2022-02-20 23:38:04,463 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 131 transitions. Word has length 49 [2022-02-20 23:38:04,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:04,463 INFO L470 AbstractCegarLoop]: Abstraction has 110 states and 131 transitions. [2022-02-20 23:38:04,463 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:04,463 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 131 transitions. [2022-02-20 23:38:04,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:38:04,463 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:04,463 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 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] [2022-02-20 23:38:04,470 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Ended with exit code 0 [2022-02-20 23:38:04,670 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:04,670 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:38:04,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:04,670 INFO L85 PathProgramCache]: Analyzing trace with hash -363698113, now seen corresponding path program 1 times [2022-02-20 23:38:04,670 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:04,671 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [517791436] [2022-02-20 23:38:04,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:04,671 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:04,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:04,672 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:04,673 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2022-02-20 23:38:04,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:04,861 INFO L263 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:38:04,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:04,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:04,940 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-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {8802#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {8802#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L272 TraceCheckUtils]: 2: Hoare triple {8802#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 3: Hoare triple {8802#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 4: Hoare triple {8802#true} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {8802#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 6: Hoare triple {8802#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {8802#true} is VALID [2022-02-20 23:38:05,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {8802#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {8802#true} assume true; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {8802#true} {8802#true} #160#return; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 10: Hoare triple {8802#true} havoc main_#t~ret39#1; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L272 TraceCheckUtils]: 11: Hoare triple {8802#true} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 12: Hoare triple {8802#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 13: Hoare triple {8802#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 14: Hoare triple {8802#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 15: Hoare triple {8802#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {8802#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 17: Hoare triple {8802#true} assume true; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8802#true} {8802#true} #162#return; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 19: Hoare triple {8802#true} havoc main_#t~ret40#1; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L272 TraceCheckUtils]: 20: Hoare triple {8802#true} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 21: Hoare triple {8802#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 22: Hoare triple {8802#true} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {8802#true} is VALID [2022-02-20 23:38:05,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {8802#true} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {8802#true} is VALID [2022-02-20 23:38:05,058 INFO L290 TraceCheckUtils]: 24: Hoare triple {8802#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {8802#true} is VALID [2022-02-20 23:38:05,058 INFO L290 TraceCheckUtils]: 25: Hoare triple {8802#true} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8802#true} is VALID [2022-02-20 23:38:05,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {8802#true} assume true; {8802#true} is VALID [2022-02-20 23:38:05,058 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8802#true} {8802#true} #164#return; {8802#true} is VALID [2022-02-20 23:38:05,058 INFO L290 TraceCheckUtils]: 28: Hoare triple {8802#true} havoc main_#t~ret41#1; {8802#true} is VALID [2022-02-20 23:38:05,058 INFO L272 TraceCheckUtils]: 29: Hoare triple {8802#true} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {8802#true} is VALID [2022-02-20 23:38:05,060 INFO L290 TraceCheckUtils]: 30: Hoare triple {8802#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:05,060 INFO L290 TraceCheckUtils]: 31: Hoare triple {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:05,061 INFO L290 TraceCheckUtils]: 32: Hoare triple {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:05,061 INFO L290 TraceCheckUtils]: 33: Hoare triple {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:05,062 INFO L290 TraceCheckUtils]: 34: Hoare triple {8897#(and (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,063 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {8802#true} #166#return; {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,063 INFO L290 TraceCheckUtils]: 37: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,064 INFO L290 TraceCheckUtils]: 38: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,064 INFO L290 TraceCheckUtils]: 39: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,065 INFO L290 TraceCheckUtils]: 40: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,065 INFO L290 TraceCheckUtils]: 41: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,065 INFO L290 TraceCheckUtils]: 42: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,066 INFO L290 TraceCheckUtils]: 43: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,066 INFO L290 TraceCheckUtils]: 44: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume !(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:05,067 INFO L290 TraceCheckUtils]: 45: Hoare triple {8910#(and (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume { :begin_inline_search_list } true;search_list_#in~l#1.base, search_list_#in~l#1.offset, search_list_#in~k#1 := main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32;havoc search_list_#res#1.base, search_list_#res#1.offset;havoc search_list_#t~mem33#1.base, search_list_#t~mem33#1.offset, search_list_#t~mem31#1, search_list_#t~short32#1, search_list_~l#1.base, search_list_~l#1.offset, search_list_~k#1;search_list_~l#1.base, search_list_~l#1.offset := search_list_#in~l#1.base, search_list_#in~l#1.offset;search_list_~k#1 := search_list_#in~k#1;search_list_~l#1.base, search_list_~l#1.offset := ~head~0.base, ~head~0.offset; {8944#(and (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select |#length| |ULTIMATE.start_search_list_~l#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:38:05,067 INFO L290 TraceCheckUtils]: 46: Hoare triple {8944#(and (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select |#length| |ULTIMATE.start_search_list_~l#1.base|) (_ bv8 32)))} search_list_#t~short32#1 := search_list_~l#1.base != 0bv32 || search_list_~l#1.offset != 0bv32; {8944#(and (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select |#length| |ULTIMATE.start_search_list_~l#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:38:05,067 INFO L290 TraceCheckUtils]: 47: Hoare triple {8944#(and (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select |#length| |ULTIMATE.start_search_list_~l#1.base|) (_ bv8 32)))} assume search_list_#t~short32#1; {8944#(and (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select |#length| |ULTIMATE.start_search_list_~l#1.base|) (_ bv8 32)))} is VALID [2022-02-20 23:38:05,068 INFO L290 TraceCheckUtils]: 48: Hoare triple {8944#(and (= (_ bv0 32) |ULTIMATE.start_search_list_~l#1.offset|) (= (select |#length| |ULTIMATE.start_search_list_~l#1.base|) (_ bv8 32)))} assume !((~bvule32(~bvadd32(4bv32, search_list_~l#1.offset), #length[search_list_~l#1.base]) && ~bvule32(search_list_~l#1.offset, ~bvadd32(4bv32, search_list_~l#1.offset))) && ~bvule32(0bv32, search_list_~l#1.offset)); {8803#false} is VALID [2022-02-20 23:38:05,068 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:38:05,068 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:05,068 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:05,068 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [517791436] [2022-02-20 23:38:05,069 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [517791436] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:05,069 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:05,069 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:38:05,069 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1619196562] [2022-02-20 23:38:05,069 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:05,069 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 49 [2022-02-20 23:38:05,069 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:05,069 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:05,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:05,106 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:05,106 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:05,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:05,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:05,107 INFO L87 Difference]: Start difference. First operand 110 states and 131 transitions. Second operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:05,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:05,981 INFO L93 Difference]: Finished difference Result 198 states and 215 transitions. [2022-02-20 23:38:05,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:38:05,981 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 49 [2022-02-20 23:38:05,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:05,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:05,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 197 transitions. [2022-02-20 23:38:05,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:05,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 197 transitions. [2022-02-20 23:38:05,984 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 197 transitions. [2022-02-20 23:38:06,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:06,184 INFO L225 Difference]: With dead ends: 198 [2022-02-20 23:38:06,184 INFO L226 Difference]: Without dead ends: 198 [2022-02-20 23:38:06,184 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:06,185 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 202 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 142 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 202 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 147 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 142 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:06,185 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [202 Valid, 173 Invalid, 147 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 142 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:38:06,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2022-02-20 23:38:06,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 113. [2022-02-20 23:38:06,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:06,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand has 113 states, 82 states have (on average 1.5365853658536586) internal successors, (126), 106 states have internal predecessors, (126), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:06,187 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand has 113 states, 82 states have (on average 1.5365853658536586) internal successors, (126), 106 states have internal predecessors, (126), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:06,187 INFO L87 Difference]: Start difference. First operand 198 states. Second operand has 113 states, 82 states have (on average 1.5365853658536586) internal successors, (126), 106 states have internal predecessors, (126), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:06,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:06,190 INFO L93 Difference]: Finished difference Result 198 states and 215 transitions. [2022-02-20 23:38:06,190 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 215 transitions. [2022-02-20 23:38:06,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:06,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:06,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 82 states have (on average 1.5365853658536586) internal successors, (126), 106 states have internal predecessors, (126), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 198 states. [2022-02-20 23:38:06,191 INFO L87 Difference]: Start difference. First operand has 113 states, 82 states have (on average 1.5365853658536586) internal successors, (126), 106 states have internal predecessors, (126), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 198 states. [2022-02-20 23:38:06,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:06,194 INFO L93 Difference]: Finished difference Result 198 states and 215 transitions. [2022-02-20 23:38:06,194 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 215 transitions. [2022-02-20 23:38:06,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:06,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:06,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:06,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:06,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 82 states have (on average 1.5365853658536586) internal successors, (126), 106 states have internal predecessors, (126), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:06,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 134 transitions. [2022-02-20 23:38:06,196 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 134 transitions. Word has length 49 [2022-02-20 23:38:06,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:06,196 INFO L470 AbstractCegarLoop]: Abstraction has 113 states and 134 transitions. [2022-02-20 23:38:06,196 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 23:38:06,196 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 134 transitions. [2022-02-20 23:38:06,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:38:06,197 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:06,197 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:06,206 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (17)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:06,406 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:06,406 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:38:06,406 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:06,406 INFO L85 PathProgramCache]: Analyzing trace with hash -362068770, now seen corresponding path program 3 times [2022-02-20 23:38:06,407 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:06,407 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1585288007] [2022-02-20 23:38:06,407 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:38:06,407 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:06,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:06,408 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:06,409 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Waiting until timeout for monitored process [2022-02-20 23:38:06,798 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:38:06,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:38:06,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 75 conjunts are in the unsatisfiable core [2022-02-20 23:38:06,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:06,841 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:06,848 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-02-20 23:38:06,933 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 13 treesize of output 9 [2022-02-20 23:38:06,995 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:38:06,996 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:38:07,217 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:07,226 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 13 treesize of output 9 [2022-02-20 23:38:07,387 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,388 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 50 [2022-02-20 23:38:07,393 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,409 INFO L356 Elim1Store]: treesize reduction 69, result has 41.5 percent of original size [2022-02-20 23:38:07,409 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 49 treesize of output 77 [2022-02-20 23:38:07,730 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:07,736 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:07,959 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,971 INFO L356 Elim1Store]: treesize reduction 27, result has 15.6 percent of original size [2022-02-20 23:38:07,971 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 3 new quantified variables, introduced 2 case distinctions, treesize of input 162 treesize of output 126 [2022-02-20 23:38:07,977 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,978 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 178 treesize of output 156 [2022-02-20 23:38:07,989 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,990 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,991 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:08,011 INFO L356 Elim1Store]: treesize reduction 141, result has 40.8 percent of original size [2022-02-20 23:38:08,011 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 97 treesize of output 152 [2022-02-20 23:38:08,691 INFO L356 Elim1Store]: treesize reduction 15, result has 6.3 percent of original size [2022-02-20 23:38:08,691 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 253 treesize of output 142 [2022-02-20 23:38:08,985 INFO L356 Elim1Store]: treesize reduction 12, result has 52.0 percent of original size [2022-02-20 23:38:08,986 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 119 treesize of output 53 [2022-02-20 23:38:09,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {9664#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {9664#true} is VALID [2022-02-20 23:38:09,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {9664#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {9664#true} is VALID [2022-02-20 23:38:09,908 INFO L272 TraceCheckUtils]: 2: Hoare triple {9664#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {9664#true} is VALID [2022-02-20 23:38:09,909 INFO L290 TraceCheckUtils]: 3: Hoare triple {9664#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,909 INFO L290 TraceCheckUtils]: 4: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,909 INFO L290 TraceCheckUtils]: 6: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,911 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} {9664#true} #160#return; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,911 INFO L290 TraceCheckUtils]: 10: Hoare triple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret39#1; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:09,912 INFO L272 TraceCheckUtils]: 11: Hoare triple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {9704#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} is VALID [2022-02-20 23:38:09,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {9704#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:09,913 INFO L290 TraceCheckUtils]: 13: Hoare triple {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:09,914 INFO L290 TraceCheckUtils]: 14: Hoare triple {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:09,915 INFO L290 TraceCheckUtils]: 15: Hoare triple {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {9718#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:09,915 INFO L290 TraceCheckUtils]: 16: Hoare triple {9718#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:09,916 INFO L290 TraceCheckUtils]: 17: Hoare triple {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:09,918 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} #162#return; {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:38:09,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret40#1; {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:38:09,919 INFO L272 TraceCheckUtils]: 20: Hoare triple {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {9736#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:09,920 INFO L290 TraceCheckUtils]: 21: Hoare triple {9736#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:09,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:09,922 INFO L290 TraceCheckUtils]: 23: Hoare triple {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {9747#(and (exists ((v_ArrVal_1526 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1526) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:09,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {9747#(and (exists ((v_ArrVal_1526 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1526) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {9751#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_13) |#memory_$Pointer$.base|) (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) insert_list_~l.offset))))))} is VALID [2022-02-20 23:38:09,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {9751#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_13) |#memory_$Pointer$.base|) (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) insert_list_~l.offset))))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:09,926 INFO L290 TraceCheckUtils]: 26: Hoare triple {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} assume true; {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:09,928 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} #164#return; {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} is VALID [2022-02-20 23:38:09,929 INFO L290 TraceCheckUtils]: 28: Hoare triple {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} havoc main_#t~ret41#1; {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} is VALID [2022-02-20 23:38:09,930 INFO L272 TraceCheckUtils]: 29: Hoare triple {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {9769#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:09,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {9769#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:09,932 INFO L290 TraceCheckUtils]: 31: Hoare triple {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:09,944 INFO L290 TraceCheckUtils]: 32: Hoare triple {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {9780#(and (exists ((v_ArrVal_1533 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1533) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (exists ((v_ArrVal_1532 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1532) |#memory_$Pointer$.offset|)) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:09,948 INFO L290 TraceCheckUtils]: 33: Hoare triple {9780#(and (exists ((v_ArrVal_1533 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1533) |#memory_$Pointer$.base|)) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (exists ((v_ArrVal_1532 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1532) |#memory_$Pointer$.offset|)) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {9784#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_15) |#memory_$Pointer$.base|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:09,949 INFO L290 TraceCheckUtils]: 34: Hoare triple {9784#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_15) |#memory_$Pointer$.base|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:09,950 INFO L290 TraceCheckUtils]: 35: Hoare triple {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} assume true; {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:09,960 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} #166#return; {9795#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))))))) (_ bv1 1))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)))} is VALID [2022-02-20 23:38:09,962 INFO L290 TraceCheckUtils]: 37: Hoare triple {9795#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))))))) (_ bv1 1))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:38:09,963 INFO L290 TraceCheckUtils]: 38: Hoare triple {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:38:09,966 INFO L290 TraceCheckUtils]: 39: Hoare triple {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {9806#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))} is VALID [2022-02-20 23:38:09,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {9806#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} is VALID [2022-02-20 23:38:09,975 INFO L290 TraceCheckUtils]: 41: Hoare triple {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} is VALID [2022-02-20 23:38:09,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {9817#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)))))} is VALID [2022-02-20 23:38:09,980 INFO L290 TraceCheckUtils]: 43: Hoare triple {9817#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} is VALID [2022-02-20 23:38:09,982 INFO L290 TraceCheckUtils]: 44: Hoare triple {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} is VALID [2022-02-20 23:38:09,984 INFO L290 TraceCheckUtils]: 45: Hoare triple {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {9828#(and (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (not (= v_arrayElimIndex_9 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_#t~mem43#1.base|)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv1 1))))} is VALID [2022-02-20 23:38:09,987 INFO L290 TraceCheckUtils]: 46: Hoare triple {9828#(and (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (not (= v_arrayElimIndex_9 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_#t~mem43#1.base|)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv1 1))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} is VALID [2022-02-20 23:38:10,009 INFO L290 TraceCheckUtils]: 47: Hoare triple {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} is VALID [2022-02-20 23:38:10,012 INFO L290 TraceCheckUtils]: 48: Hoare triple {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {9665#false} is VALID [2022-02-20 23:38:10,013 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:10,013 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:10,870 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:38:10,871 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 44 treesize of output 45 [2022-02-20 23:38:10,876 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:38:10,877 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-02-20 23:38:10,920 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_138 (_ BitVec 32)) (v_arrayElimArr_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_arrayElimArr_17 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse0 (store |c_#valid| v_~head~0.base_138 (_ bv1 1)))) (or (not (= c_~head~0.offset (select v_arrayElimArr_17 (_ bv4 32)))) (not (= (bvneg (select |c_#valid| v_~head~0.base_138)) (_ bv0 1))) (not (= (select .cse0 c_~head~0.base) (_ bv1 1))) (= (select .cse0 (let ((.cse2 (bvadd c_~head~0.offset (_ bv4 32)))) (select (let ((.cse1 (store |c_#memory_$Pointer$.base| v_~head~0.base_138 v_arrayElimArr_16))) (select .cse1 (select (select .cse1 c_~head~0.base) .cse2))) (bvadd (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_138 v_arrayElimArr_17) c_~head~0.base) .cse2) (_ bv4 32))))) (_ bv1 1)) (not (= (select v_arrayElimArr_16 (_ bv4 32)) c_~head~0.base))))) is different from false [2022-02-20 23:38:10,922 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:10,922 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1585288007] [2022-02-20 23:38:10,923 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1585288007] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:10,923 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1657929540] [2022-02-20 23:38:10,923 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:38:10,923 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:10,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:10,924 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:38:10,925 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (19)] Waiting until timeout for monitored process [2022-02-20 23:38:11,285 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:38:11,285 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:38:11,301 INFO L263 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 75 conjunts are in the unsatisfiable core [2022-02-20 23:38:11,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:11,325 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:11,336 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-02-20 23:38:11,420 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 13 treesize of output 9 [2022-02-20 23:38:11,465 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:38:11,466 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:38:11,647 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 13 treesize of output 9 [2022-02-20 23:38:11,650 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:11,760 INFO L356 Elim1Store]: treesize reduction 66, result has 42.6 percent of original size [2022-02-20 23:38:11,760 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 37 treesize of output 66 [2022-02-20 23:38:11,770 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 40 [2022-02-20 23:38:12,097 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:12,103 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:12,256 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:12,268 INFO L356 Elim1Store]: treesize reduction 27, result has 15.6 percent of original size [2022-02-20 23:38:12,268 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 3 new quantified variables, introduced 2 case distinctions, treesize of input 114 treesize of output 90 [2022-02-20 23:38:12,274 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:12,275 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 130 treesize of output 108 [2022-02-20 23:38:12,287 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:12,289 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:12,290 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:12,309 INFO L356 Elim1Store]: treesize reduction 93, result has 41.1 percent of original size [2022-02-20 23:38:12,309 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 73 treesize of output 112 [2022-02-20 23:38:12,856 INFO L356 Elim1Store]: treesize reduction 15, result has 6.3 percent of original size [2022-02-20 23:38:12,857 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 253 treesize of output 142 [2022-02-20 23:38:13,009 INFO L356 Elim1Store]: treesize reduction 12, result has 52.0 percent of original size [2022-02-20 23:38:13,009 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 3 case distinctions, treesize of input 119 treesize of output 53 [2022-02-20 23:38:13,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {9664#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {9664#true} is VALID [2022-02-20 23:38:13,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {9664#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {9664#true} is VALID [2022-02-20 23:38:13,755 INFO L272 TraceCheckUtils]: 2: Hoare triple {9664#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {9664#true} is VALID [2022-02-20 23:38:13,756 INFO L290 TraceCheckUtils]: 3: Hoare triple {9664#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,756 INFO L290 TraceCheckUtils]: 4: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {9678#(= (select |#valid| insert_list_~l.base) (_ bv1 1))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} assume true; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,758 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} {9664#true} #160#return; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,758 INFO L290 TraceCheckUtils]: 10: Hoare triple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} havoc main_#t~ret39#1; {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} is VALID [2022-02-20 23:38:13,758 INFO L272 TraceCheckUtils]: 11: Hoare triple {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {9704#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} is VALID [2022-02-20 23:38:13,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {9704#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:13,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:13,760 INFO L290 TraceCheckUtils]: 14: Hoare triple {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:13,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {9708#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {9718#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:13,761 INFO L290 TraceCheckUtils]: 16: Hoare triple {9718#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:13,761 INFO L290 TraceCheckUtils]: 17: Hoare triple {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} assume true; {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:13,763 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9722#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))} {9691#(= (select |#valid| ~head~0.base) (_ bv1 1))} #162#return; {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:38:13,763 INFO L290 TraceCheckUtils]: 19: Hoare triple {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} havoc main_#t~ret40#1; {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} is VALID [2022-02-20 23:38:13,764 INFO L272 TraceCheckUtils]: 20: Hoare triple {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {9736#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:13,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {9736#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:13,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:13,766 INFO L290 TraceCheckUtils]: 23: Hoare triple {9740#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {9956#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1648 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1648))) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:13,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {9956#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (exists ((v_ArrVal_1648 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1648))) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {9751#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_13) |#memory_$Pointer$.base|) (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) insert_list_~l.offset))))))} is VALID [2022-02-20 23:38:13,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {9751#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1525) |#valid|)) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_13) |#memory_$Pointer$.base|) (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) insert_list_~l.offset))))))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:13,770 INFO L290 TraceCheckUtils]: 26: Hoare triple {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} assume true; {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:13,772 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9755#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (exists ((v_arrayElimArr_13 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_13 (bvadd (_ bv4 32) ~head~0.offset))) (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_13) |#memory_$Pointer$.base|))) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_ArrVal_1525 (_ BitVec 1))) (= (store |old(#valid)| ~head~0.base v_ArrVal_1525) |#valid|)) (= ~head~0.offset (_ bv0 32)))} {9729#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))))} #164#return; {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} is VALID [2022-02-20 23:38:13,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} havoc main_#t~ret41#1; {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} is VALID [2022-02-20 23:38:13,774 INFO L272 TraceCheckUtils]: 29: Hoare triple {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {9769#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:13,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {9769#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:13,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:13,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {9773#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {9984#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1655 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1655) |#memory_$Pointer$.offset|)) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1654 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1654) |#memory_$Pointer$.base|)))} is VALID [2022-02-20 23:38:13,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {9984#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1655 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1655) |#memory_$Pointer$.offset|)) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= |old(~head~0.offset)| ~head~0.offset) (= (_ bv0 32) insert_list_~l.offset) (exists ((v_ArrVal_1654 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1654) |#memory_$Pointer$.base|)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {9784#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_15) |#memory_$Pointer$.base|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:13,782 INFO L290 TraceCheckUtils]: 34: Hoare triple {9784#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_15) |#memory_$Pointer$.base|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_14) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_14 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= (store |old(#valid)| insert_list_~l.base v_ArrVal_1531) |#valid|)) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:13,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} assume true; {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} is VALID [2022-02-20 23:38:13,787 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9788#(and (exists ((v_arrayElimArr_15 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_15) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_15 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_14 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_14)) (= |old(~head~0.offset)| (select v_arrayElimArr_14 (bvadd (_ bv4 32) ~head~0.offset))))) (exists ((v_ArrVal_1531 (_ BitVec 1))) (= |#valid| (store |old(#valid)| ~head~0.base v_ArrVal_1531))) (= ~head~0.offset (_ bv0 32)))} {9762#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (_ bv1 1))))} #166#return; {9795#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))))))) (_ bv1 1))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)))} is VALID [2022-02-20 23:38:13,789 INFO L290 TraceCheckUtils]: 37: Hoare triple {9795#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (= (select |#valid| ~head~0.base) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))))))) (_ bv1 1))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))))) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1)))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:38:13,790 INFO L290 TraceCheckUtils]: 38: Hoare triple {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} is VALID [2022-02-20 23:38:13,793 INFO L290 TraceCheckUtils]: 39: Hoare triple {9799#(and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {9806#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))} is VALID [2022-02-20 23:38:13,794 INFO L290 TraceCheckUtils]: 40: Hoare triple {9806#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))))) (_ bv1 1))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (= (_ bv0 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))))) (= (_ bv1 1) (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} is VALID [2022-02-20 23:38:13,796 INFO L290 TraceCheckUtils]: 41: Hoare triple {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} is VALID [2022-02-20 23:38:13,799 INFO L290 TraceCheckUtils]: 42: Hoare triple {9810#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (_ bv1 1)) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))) (_ bv1 1))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))))) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))))))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {9817#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)))))} is VALID [2022-02-20 23:38:13,800 INFO L290 TraceCheckUtils]: 43: Hoare triple {9817#(and (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} is VALID [2022-02-20 23:38:13,801 INFO L290 TraceCheckUtils]: 44: Hoare triple {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} is VALID [2022-02-20 23:38:13,803 INFO L290 TraceCheckUtils]: 45: Hoare triple {9821#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (bvadd (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (_ bv1 1)) (_ bv0 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv1 1)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)))) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32))) (_ bv1 1)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv4 32))) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {9828#(and (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (not (= v_arrayElimIndex_9 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_#t~mem43#1.base|)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv1 1))))} is VALID [2022-02-20 23:38:13,804 INFO L290 TraceCheckUtils]: 46: Hoare triple {9828#(and (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (not (= v_arrayElimIndex_9 |ULTIMATE.start_main_#t~mem43#1.base|)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= |ULTIMATE.start_main_#t~mem43#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_#t~mem43#1.base|)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))) (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_#t~mem43#1.base|))) (_ bv1 1))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} is VALID [2022-02-20 23:38:13,806 INFO L290 TraceCheckUtils]: 47: Hoare triple {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} is VALID [2022-02-20 23:38:13,806 INFO L290 TraceCheckUtils]: 48: Hoare triple {9832#(and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| |ULTIMATE.start_main_~mylist~0#1.base|))) (_ bv1 1))) (exists ((v_arrayElimIndex_9 (_ BitVec 32)) (v_arrayElimIndex_10 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_51| (_ BitVec 32))) (and (not (= v_arrayElimIndex_10 |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select |#valid| v_arrayElimIndex_9) (_ bv1 1)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= v_arrayElimIndex_10 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (= (select |#valid| v_arrayElimIndex_10) (_ bv1 1)) (= (select |#valid| |v_ULTIMATE.start_main_~mylist~0#1.base_51|) (_ bv1 1)) (not (= v_arrayElimIndex_9 |v_ULTIMATE.start_main_~mylist~0#1.base_51|)) (not (= |ULTIMATE.start_main_~mylist~0#1.base| v_arrayElimIndex_9)) (not (= v_arrayElimIndex_10 v_arrayElimIndex_9)))))} assume !(1bv1 == #valid[main_~mylist~0#1.base]); {9665#false} is VALID [2022-02-20 23:38:13,807 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 23 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:13,807 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:14,497 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:38:14,497 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 44 treesize of output 45 [2022-02-20 23:38:14,503 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:38:14,503 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-02-20 23:38:14,540 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_146 (_ BitVec 32)) (v_arrayElimArr_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_arrayElimArr_22 (Array (_ BitVec 32) (_ BitVec 32)))) (or (not (= c_~head~0.offset (select v_arrayElimArr_22 (_ bv4 32)))) (not (= (select v_arrayElimArr_21 (_ bv4 32)) c_~head~0.base)) (= (select (store |c_#valid| v_~head~0.base_146 (_ bv1 1)) (let ((.cse1 (bvadd c_~head~0.offset (_ bv4 32)))) (select (let ((.cse0 (store |c_#memory_$Pointer$.base| v_~head~0.base_146 v_arrayElimArr_21))) (select .cse0 (select (select .cse0 c_~head~0.base) .cse1))) (bvadd (_ bv4 32) (select (select (store |c_#memory_$Pointer$.offset| v_~head~0.base_146 v_arrayElimArr_22) c_~head~0.base) .cse1))))) (_ bv1 1)) (not (= (_ bv0 1) (bvneg (select |c_#valid| v_~head~0.base_146)))))) is different from false [2022-02-20 23:38:14,542 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1657929540] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:14,542 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:14,542 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 27] total 29 [2022-02-20 23:38:14,543 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [415600447] [2022-02-20 23:38:14,543 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:14,543 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 49 [2022-02-20 23:38:14,543 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:14,543 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:14,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:14,638 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-02-20 23:38:14,638 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:38:14,639 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-02-20 23:38:14,639 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=148, Invalid=1566, Unknown=16, NotChecked=162, Total=1892 [2022-02-20 23:38:14,639 INFO L87 Difference]: Start difference. First operand 113 states and 134 transitions. Second operand has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,537 INFO L93 Difference]: Finished difference Result 127 states and 150 transitions. [2022-02-20 23:38:18,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-02-20 23:38:18,537 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 49 [2022-02-20 23:38:18,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:18,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 120 transitions. [2022-02-20 23:38:18,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 120 transitions. [2022-02-20 23:38:18,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 120 transitions. [2022-02-20 23:38:18,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:18,744 INFO L225 Difference]: With dead ends: 127 [2022-02-20 23:38:18,744 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 23:38:18,745 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 73 SyntacticMatches, 8 SemanticMatches, 55 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 884 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=290, Invalid=2650, Unknown=38, NotChecked=214, Total=3192 [2022-02-20 23:38:18,745 INFO L933 BasicCegarLoop]: 75 mSDtfsCounter, 22 mSDsluCounter, 515 mSDsCounter, 0 mSdLazyCounter, 282 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 590 SdHoareTripleChecker+Invalid, 634 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 282 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 332 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:18,746 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 590 Invalid, 634 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 282 Invalid, 0 Unknown, 332 Unchecked, 0.7s Time] [2022-02-20 23:38:18,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 23:38:18,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 116. [2022-02-20 23:38:18,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:18,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 116 states, 85 states have (on average 1.5411764705882354) internal successors, (131), 109 states have internal predecessors, (131), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,748 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 116 states, 85 states have (on average 1.5411764705882354) internal successors, (131), 109 states have internal predecessors, (131), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,748 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 116 states, 85 states have (on average 1.5411764705882354) internal successors, (131), 109 states have internal predecessors, (131), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,749 INFO L93 Difference]: Finished difference Result 127 states and 150 transitions. [2022-02-20 23:38:18,749 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 150 transitions. [2022-02-20 23:38:18,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:18,750 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:18,750 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 85 states have (on average 1.5411764705882354) internal successors, (131), 109 states have internal predecessors, (131), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 127 states. [2022-02-20 23:38:18,763 INFO L87 Difference]: Start difference. First operand has 116 states, 85 states have (on average 1.5411764705882354) internal successors, (131), 109 states have internal predecessors, (131), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 127 states. [2022-02-20 23:38:18,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,765 INFO L93 Difference]: Finished difference Result 127 states and 150 transitions. [2022-02-20 23:38:18,765 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 150 transitions. [2022-02-20 23:38:18,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:18,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:18,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:18,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:18,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 85 states have (on average 1.5411764705882354) internal successors, (131), 109 states have internal predecessors, (131), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 139 transitions. [2022-02-20 23:38:18,769 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 139 transitions. Word has length 49 [2022-02-20 23:38:18,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:18,769 INFO L470 AbstractCegarLoop]: Abstraction has 116 states and 139 transitions. [2022-02-20 23:38:18,770 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 26 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:38:18,770 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 139 transitions. [2022-02-20 23:38:18,770 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:38:18,770 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:18,770 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:18,791 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (19)] Ended with exit code 0 [2022-02-20 23:38:18,988 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:19,176 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:38:19,176 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [insert_listErr0REQUIRES_VIOLATION, insert_listErr1REQUIRES_VIOLATION, insert_listErr2REQUIRES_VIOLATION, insert_listErr3REQUIRES_VIOLATION (and 29 more)] === [2022-02-20 23:38:19,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:19,176 INFO L85 PathProgramCache]: Analyzing trace with hash -362068769, now seen corresponding path program 3 times [2022-02-20 23:38:19,177 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:38:19,177 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [237715340] [2022-02-20 23:38:19,177 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:38:19,177 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:38:19,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:38:19,178 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:38:19,222 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Waiting until timeout for monitored process [2022-02-20 23:38:19,581 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:38:19,581 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:38:19,596 INFO L263 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 97 conjunts are in the unsatisfiable core [2022-02-20 23:38:19,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:19,639 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:19,668 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-02-20 23:38:19,672 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-02-20 23:38:19,885 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 13 treesize of output 9 [2022-02-20 23:38:19,890 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 13 treesize of output 9 [2022-02-20 23:38:20,093 INFO L356 Elim1Store]: treesize reduction 33, result has 43.1 percent of original size [2022-02-20 23:38:20,093 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 24 treesize of output 37 [2022-02-20 23:38:20,104 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 20 [2022-02-20 23:38:20,339 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:20,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:20,535 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,536 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 41 [2022-02-20 23:38:20,542 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,542 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,543 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 38 [2022-02-20 23:38:20,550 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,551 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 22 [2022-02-20 23:38:20,557 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:20,564 INFO L356 Elim1Store]: treesize reduction 4, result has 77.8 percent of original size [2022-02-20 23:38:20,564 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 35 treesize of output 27 [2022-02-20 23:38:20,926 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:20,937 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 0 case distinctions, treesize of input 11 treesize of output 14 [2022-02-20 23:38:21,149 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:21,176 INFO L356 Elim1Store]: treesize reduction 23, result has 28.1 percent of original size [2022-02-20 23:38:21,176 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 3 new quantified variables, introduced 2 case distinctions, treesize of input 96 treesize of output 70 [2022-02-20 23:38:21,189 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:21,191 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:21,214 INFO L356 Elim1Store]: treesize reduction 31, result has 48.3 percent of original size [2022-02-20 23:38:21,215 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 56 [2022-02-20 23:38:21,231 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:21,233 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:21,260 INFO L356 Elim1Store]: treesize reduction 64, result has 26.4 percent of original size [2022-02-20 23:38:21,260 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 40 treesize of output 48 [2022-02-20 23:38:21,275 INFO L356 Elim1Store]: treesize reduction 4, result has 71.4 percent of original size [2022-02-20 23:38:21,276 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 18 treesize of output 18 [2022-02-20 23:38:21,299 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 36 treesize of output 30 [2022-02-20 23:38:23,694 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:38:23,728 INFO L356 Elim1Store]: treesize reduction 79, result has 19.4 percent of original size [2022-02-20 23:38:23,728 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 9 new quantified variables, introduced 10 case distinctions, treesize of input 231 treesize of output 125 [2022-02-20 23:38:23,760 INFO L356 Elim1Store]: treesize reduction 98, result has 6.7 percent of original size [2022-02-20 23:38:23,760 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 10 case distinctions, treesize of input 132 treesize of output 110 [2022-02-20 23:38:26,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {10600#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(16bv32, 2bv32);~head~0.base, ~head~0.offset := 0bv32, 0bv32; {10600#true} is VALID [2022-02-20 23:38:26,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {10600#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret39#1, main_#t~ret40#1, main_#t~ret41#1, main_#t~ret42#1, main_#t~mem43#1.base, main_#t~mem43#1.offset, main_#t~ret44#1.base, main_#t~ret44#1.offset, main_#t~mem45#1, main_#t~ret46#1, main_#t~mem47#1.base, main_#t~mem47#1.offset, main_~i~0#1, main_~mylist~0#1.base, main_~mylist~0#1.offset, main_~temp~0#1.base, main_~temp~0#1.offset;havoc main_~i~0#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := 0bv32, 0bv32;havoc main_~temp~0#1.base, main_~temp~0#1.offset; {10600#true} is VALID [2022-02-20 23:38:26,117 INFO L272 TraceCheckUtils]: 2: Hoare triple {10600#true} call main_#t~ret39#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 2bv32); {10600#true} is VALID [2022-02-20 23:38:26,118 INFO L290 TraceCheckUtils]: 3: Hoare triple {10600#true} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,118 INFO L290 TraceCheckUtils]: 4: Hoare triple {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} assume ~head~0.base == 0bv32 && ~head~0.offset == 0bv32; {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L794 {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,119 INFO L290 TraceCheckUtils]: 6: Hoare triple {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L794-1 {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {10614#(and (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= (select |#length| insert_list_~l.base) (_ bv8 32)) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} assume true; {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,121 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} {10600#true} #160#return; {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,121 INFO L290 TraceCheckUtils]: 10: Hoare triple {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret39#1; {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,122 INFO L272 TraceCheckUtils]: 11: Hoare triple {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret40#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 5bv32); {10640#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} is VALID [2022-02-20 23:38:26,122 INFO L290 TraceCheckUtils]: 12: Hoare triple {10640#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {10644#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {10644#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {10644#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {10644#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {10644#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {10644#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {10654#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} is VALID [2022-02-20 23:38:26,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {10654#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= (select (select |#memory_$Pointer$.offset| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.offset)|) (= (store |old(#valid)| insert_list_~l.base (_ bv1 1)) |#valid|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= (select (select |#memory_$Pointer$.base| insert_list_~l.base) (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {10658#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:38:26,125 INFO L290 TraceCheckUtils]: 17: Hoare triple {10658#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} assume true; {10658#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:38:26,127 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10658#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (store |old(#valid)| ~head~0.base (_ bv1 1)) |#valid|) (= |old(~head~0.offset)| (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (= ~head~0.offset (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} {10627#(and (= (select |#valid| ~head~0.base) (_ bv1 1)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| ~head~0.base)))} #162#return; {10665#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,128 INFO L290 TraceCheckUtils]: 19: Hoare triple {10665#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret40#1; {10665#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,129 INFO L272 TraceCheckUtils]: 20: Hoare triple {10665#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret41#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 1bv32); {10672#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:26,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {10672#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:26,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:26,133 INFO L290 TraceCheckUtils]: 23: Hoare triple {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {10683#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_ArrVal_1775 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1775) |#memory_$Pointer$.offset|)) (exists ((v_ArrVal_1774 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1774) |#memory_$Pointer$.base|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,159 INFO L290 TraceCheckUtils]: 24: Hoare triple {10683#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (exists ((v_ArrVal_1775 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1775) |#memory_$Pointer$.offset|)) (exists ((v_ArrVal_1774 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1774) |#memory_$Pointer$.base|)) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {10687#(and (exists ((v_arrayElimArr_24 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_24) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_24 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_23 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_23 (bvadd (_ bv4 32) insert_list_~l.offset))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_23) |#memory_$Pointer$.offset|))) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {10687#(and (exists ((v_arrayElimArr_24 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_24) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_24 (bvadd (_ bv4 32) insert_list_~l.offset)) |old(~head~0.base)|))) (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_23 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_23 (bvadd (_ bv4 32) insert_list_~l.offset))) (= (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_23) |#memory_$Pointer$.offset|))) (= (select |#valid| insert_list_~l.base) (_ bv1 1)) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {10691#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_23 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_23) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_23 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|))) (exists ((v_arrayElimArr_24 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_24) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_24 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:38:26,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {10691#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_23 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_23) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_23 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|))) (exists ((v_arrayElimArr_24 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_24) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_24 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} assume true; {10691#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_23 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_23) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_23 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|))) (exists ((v_arrayElimArr_24 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_24) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_24 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:38:26,175 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10691#(and (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (exists ((v_arrayElimArr_23 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_23) |#memory_$Pointer$.offset|) (= (select v_arrayElimArr_23 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.offset)|))) (exists ((v_arrayElimArr_24 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_24) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_24 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} {10665#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= ~head~0.offset (_ bv0 32)) (= (_ bv0 1) (bvadd (select |#valid| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv1 1))) (= (_ bv8 32) (select |#length| ~head~0.base)))} #164#return; {10698#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,176 INFO L290 TraceCheckUtils]: 28: Hoare triple {10698#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} havoc main_#t~ret41#1; {10698#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} is VALID [2022-02-20 23:38:26,177 INFO L272 TraceCheckUtils]: 29: Hoare triple {10698#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} call main_#t~ret42#1 := insert_list(main_~mylist~0#1.base, main_~mylist~0#1.offset, 3bv32); {10672#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:26,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {10672#(and (= |old(#valid)| |#valid|) (= |old(~head~0.base)| ~head~0.base) (= |#length| |old(#length)|) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} ~l.base, ~l.offset := #in~l.base, #in~l.offset;~k := #in~k;call #t~malloc38.base, #t~malloc38.offset := #Ultimate.allocOnHeap(8bv32);~l.base, ~l.offset := #t~malloc38.base, #t~malloc38.offset;havoc #t~malloc38.base, #t~malloc38.offset; {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:26,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} assume !(~head~0.base == 0bv32 && ~head~0.offset == 0bv32); {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} is VALID [2022-02-20 23:38:26,181 INFO L290 TraceCheckUtils]: 32: Hoare triple {10676#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (= |old(~head~0.offset)| ~head~0.offset) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset) (= |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))} SUMMARY for call write~intINTTYPE4(~k, ~l.base, ~l.offset, 4bv32); srcloc: L797 {10714#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1781 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1781))) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (exists ((v_ArrVal_1782 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1782) |#memory_$Pointer$.base|)) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {10714#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (= |old(~head~0.base)| ~head~0.base) (exists ((v_ArrVal_1781 (Array (_ BitVec 32) (_ BitVec 32)))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_ArrVal_1781))) (= |old(~head~0.offset)| ~head~0.offset) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (exists ((v_ArrVal_1782 (Array (_ BitVec 32) (_ BitVec 32)))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_ArrVal_1782) |#memory_$Pointer$.base|)) (= (_ bv0 32) insert_list_~l.offset))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~l.base, ~bvadd32(4bv32, ~l.offset), 4bv32); srcloc: L797-1 {10718#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_25 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_25 (bvadd (_ bv4 32) insert_list_~l.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_25)))) (exists ((v_arrayElimArr_26 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_26 (bvadd (_ bv4 32) insert_list_~l.offset))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_26) |#memory_$Pointer$.base|))) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} is VALID [2022-02-20 23:38:26,185 INFO L290 TraceCheckUtils]: 34: Hoare triple {10718#(and (= (_ bv0 1) (bvneg (select |old(#valid)| insert_list_~l.base))) (exists ((v_arrayElimArr_25 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_25 (bvadd (_ bv4 32) insert_list_~l.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| insert_list_~l.base v_arrayElimArr_25)))) (exists ((v_arrayElimArr_26 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.base)| (select v_arrayElimArr_26 (bvadd (_ bv4 32) insert_list_~l.offset))) (= (store |old(#memory_$Pointer$.base)| insert_list_~l.base v_arrayElimArr_26) |#memory_$Pointer$.base|))) (= |#length| (store |old(#length)| insert_list_~l.base (_ bv8 32))) (= (_ bv0 32) insert_list_~l.offset))} ~head~0.base, ~head~0.offset := ~l.base, ~l.offset;#res := 0bv32; {10722#(and (exists ((v_arrayElimArr_26 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_26) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_26 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_25 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_25 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_25)))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:38:26,186 INFO L290 TraceCheckUtils]: 35: Hoare triple {10722#(and (exists ((v_arrayElimArr_26 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_26) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_26 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_25 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_25 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_25)))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} assume true; {10722#(and (exists ((v_arrayElimArr_26 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_26) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_26 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_25 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_25 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_25)))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} is VALID [2022-02-20 23:38:26,195 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10722#(and (exists ((v_arrayElimArr_26 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= (store |old(#memory_$Pointer$.base)| ~head~0.base v_arrayElimArr_26) |#memory_$Pointer$.base|) (= (select v_arrayElimArr_26 (bvadd (_ bv4 32) ~head~0.offset)) |old(~head~0.base)|))) (exists ((v_arrayElimArr_25 (Array (_ BitVec 32) (_ BitVec 32)))) (and (= |old(~head~0.offset)| (select v_arrayElimArr_25 (bvadd (_ bv4 32) ~head~0.offset))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| ~head~0.base v_arrayElimArr_25)))) (= (bvneg (select |old(#valid)| ~head~0.base)) (_ bv0 1)) (= ~head~0.offset (_ bv0 32)) (= |#length| (store |old(#length)| ~head~0.base (_ bv8 32))))} {10698#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select |#valid| ~head~0.base) (_ bv1 1)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)))} #166#return; {10729#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)) (or (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)))))))} is VALID [2022-02-20 23:38:26,203 INFO L290 TraceCheckUtils]: 37: Hoare triple {10729#(and (= (select (select |#memory_$Pointer$.offset| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (not (= (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)) ~head~0.base)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (_ bv0 32)) (= ~head~0.offset (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| ~head~0.base)) (or (and (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) ~head~0.base) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))))))) (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| ~head~0.base) (bvadd (_ bv4 32) ~head~0.offset))) (_ bv4 32))) (_ bv4 32)))))))} havoc main_#t~ret42#1;main_~mylist~0#1.base, main_~mylist~0#1.offset := ~head~0.base, ~head~0.offset; {10733#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (and (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))))) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2022-02-20 23:38:26,205 INFO L290 TraceCheckUtils]: 38: Hoare triple {10733#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (and (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))))) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {10733#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (and (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))))) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} is VALID [2022-02-20 23:38:26,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {10733#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (and (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))))) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {10740#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (and (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))))) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:38:26,212 INFO L290 TraceCheckUtils]: 40: Hoare triple {10740#(exists ((|ULTIMATE.start_main_~mylist~0#1.base| (_ BitVec 32))) (and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) |ULTIMATE.start_main_#t~mem43#1.base|) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32))))) (and (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))))) (= |ULTIMATE.start_main_~mylist~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~mylist~0#1.base|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {10744#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:38:26,215 INFO L290 TraceCheckUtils]: 41: Hoare triple {10744#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {10744#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:38:26,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {10744#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |ULTIMATE.start_main_~mylist~0#1.base|) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {10751#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) |ULTIMATE.start_main_#t~mem43#1.base|) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:38:26,225 INFO L290 TraceCheckUtils]: 43: Hoare triple {10751#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) |ULTIMATE.start_main_#t~mem43#1.base|) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {10755#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:38:26,230 INFO L290 TraceCheckUtils]: 44: Hoare triple {10755#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {10755#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} is VALID [2022-02-20 23:38:26,236 INFO L290 TraceCheckUtils]: 45: Hoare triple {10755#(exists ((|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) |ULTIMATE.start_main_~mylist~0#1.base|) (not (= (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= |ULTIMATE.start_main_~mylist~0#1.offset| (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (bvadd (_ bv4 32) (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))))) (or (and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)))) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))))) (and (= |v_ULTIMATE.start_main_~mylist~0#1.base_61| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)))) (not (= v_arrayElimCell_120 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))))))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)) (_ bv0 32)) (= (_ bv8 32) (select |#length| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32)))) (= (select (select |#memory_$Pointer$.offset| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32)) (_ bv0 32)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (_ bv4 32))) (_ bv4 32))) (_ bv4 32)) (_ bv0 32))))} SUMMARY for call main_#t~mem43#1.base, main_#t~mem43#1.offset := read~$Pointer$(main_~mylist~0#1.base, ~bvadd32(4bv32, main_~mylist~0#1.offset), 4bv32); srcloc: L813 {10762#(and (exists ((v_arrayElimIndex_18 (_ BitVec 32)) (v_arrayElimIndex_16 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (not (= v_arrayElimIndex_16 v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (not (= v_arrayElimIndex_16 |ULTIMATE.start_main_#t~mem43#1.base|)) (not (= v_arrayElimIndex_18 |ULTIMATE.start_main_#t~mem43#1.base|))) (and (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 v_arrayElimIndex_18)) (not (= v_arrayElimCell_120 v_arrayElimIndex_16)))))) (= (_ bv8 32) (select |#length| v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| v_arrayElimIndex_16)) (not (= v_arrayElimIndex_18 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (not (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= v_arrayElimIndex_18 |ULTIMATE.start_main_#t~mem43#1.base|)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:38:26,238 INFO L290 TraceCheckUtils]: 46: Hoare triple {10762#(and (exists ((v_arrayElimIndex_18 (_ BitVec 32)) (v_arrayElimIndex_16 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (not (= v_arrayElimIndex_16 v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (and (= (select |#length| |ULTIMATE.start_main_#t~mem43#1.base|) (_ bv8 32)) (not (= v_arrayElimIndex_16 |ULTIMATE.start_main_#t~mem43#1.base|)) (not (= v_arrayElimIndex_18 |ULTIMATE.start_main_#t~mem43#1.base|))) (and (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 v_arrayElimIndex_18)) (not (= v_arrayElimCell_120 v_arrayElimIndex_16)))))) (= (_ bv8 32) (select |#length| v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| v_arrayElimIndex_16)) (not (= v_arrayElimIndex_18 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (not (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (= v_arrayElimIndex_18 |ULTIMATE.start_main_#t~mem43#1.base|)))) (= |ULTIMATE.start_main_#t~mem43#1.offset| (_ bv0 32)))} main_~mylist~0#1.base, main_~mylist~0#1.offset := main_#t~mem43#1.base, main_#t~mem43#1.offset;havoc main_#t~mem43#1.base, main_#t~mem43#1.offset; {10766#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((v_arrayElimIndex_18 (_ BitVec 32)) (v_arrayElimIndex_16 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (not (= v_arrayElimIndex_16 v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (and (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_16 |ULTIMATE.start_main_~mylist~0#1.base|))) (and (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 v_arrayElimIndex_18)) (not (= v_arrayElimCell_120 v_arrayElimIndex_16)))))) (or (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|) (not (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|))) (= (_ bv8 32) (select |#length| v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| v_arrayElimIndex_16)) (not (= v_arrayElimIndex_18 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)))))} is VALID [2022-02-20 23:38:26,242 INFO L290 TraceCheckUtils]: 47: Hoare triple {10766#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((v_arrayElimIndex_18 (_ BitVec 32)) (v_arrayElimIndex_16 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (not (= v_arrayElimIndex_16 v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (and (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_16 |ULTIMATE.start_main_~mylist~0#1.base|))) (and (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 v_arrayElimIndex_18)) (not (= v_arrayElimCell_120 v_arrayElimIndex_16)))))) (or (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|) (not (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|))) (= (_ bv8 32) (select |#length| v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| v_arrayElimIndex_16)) (not (= v_arrayElimIndex_18 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)))))} assume !!(main_~mylist~0#1.base != 0bv32 || main_~mylist~0#1.offset != 0bv32); {10766#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((v_arrayElimIndex_18 (_ BitVec 32)) (v_arrayElimIndex_16 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (not (= v_arrayElimIndex_16 v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (and (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_16 |ULTIMATE.start_main_~mylist~0#1.base|))) (and (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 v_arrayElimIndex_18)) (not (= v_arrayElimCell_120 v_arrayElimIndex_16)))))) (or (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|) (not (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|))) (= (_ bv8 32) (select |#length| v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| v_arrayElimIndex_16)) (not (= v_arrayElimIndex_18 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)))))} is VALID [2022-02-20 23:38:26,243 INFO L290 TraceCheckUtils]: 48: Hoare triple {10766#(and (= |ULTIMATE.start_main_~mylist~0#1.offset| (_ bv0 32)) (exists ((v_arrayElimIndex_18 (_ BitVec 32)) (v_arrayElimIndex_16 (_ BitVec 32)) (|v_ULTIMATE.start_main_~mylist~0#1.base_61| (_ BitVec 32))) (and (not (= v_arrayElimIndex_16 v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| |v_ULTIMATE.start_main_~mylist~0#1.base_61|)) (or (and (= (_ bv8 32) (select |#length| |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|)) (not (= v_arrayElimIndex_16 |ULTIMATE.start_main_~mylist~0#1.base|))) (and (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|) (exists ((v_arrayElimCell_120 (_ BitVec 32))) (and (= (select |#length| v_arrayElimCell_120) (_ bv8 32)) (not (= v_arrayElimCell_120 v_arrayElimIndex_18)) (not (= v_arrayElimCell_120 v_arrayElimIndex_16)))))) (or (= v_arrayElimIndex_18 |ULTIMATE.start_main_~mylist~0#1.base|) (not (= v_arrayElimIndex_16 |v_ULTIMATE.start_main_~mylist~0#1.base_61|))) (= (_ bv8 32) (select |#length| v_arrayElimIndex_18)) (= (_ bv8 32) (select |#length| v_arrayElimIndex_16)) (not (= v_arrayElimIndex_18 |v_ULTIMATE.start_main_~mylist~0#1.base_61|)))))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)), #length[main_~mylist~0#1.base]) && ~bvule32(~bvadd32(4bv32, main_~mylist~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, main_~mylist~0#1.offset))); {10601#false} is VALID [2022-02-20 23:38:26,243 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 12 proven. 36 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:38:26,244 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:27,768 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:38:27,769 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 162 treesize of output 154 [2022-02-20 23:38:27,778 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:38:27,778 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 147 treesize of output 133 [2022-02-20 23:38:28,032 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_~head~0.base_154 (_ BitVec 32)) (v_arrayElimArr_27 (Array (_ BitVec 32) (_ BitVec 32))) (v_arrayElimArr_28 (Array (_ BitVec 32) (_ BitVec 32)))) (or (let ((.cse5 (store |c_#memory_$Pointer$.offset| v_~head~0.base_154 v_arrayElimArr_28)) (.cse2 (store |c_#memory_$Pointer$.base| v_~head~0.base_154 v_arrayElimArr_27)) (.cse6 (bvadd c_~head~0.offset (_ bv4 32)))) (let ((.cse3 (select (select .cse2 c_~head~0.base) .cse6)) (.cse4 (bvadd (_ bv4 32) (select (select .cse5 c_~head~0.base) .cse6)))) (let ((.cse0 (select (select .cse5 .cse3) .cse4))) (let ((.cse1 (bvadd (_ bv8 32) .cse0))) (and (bvule (bvadd (_ bv4 32) .cse0) .cse1) (bvule .cse1 (select (store |c_#length| v_~head~0.base_154 (_ bv8 32)) (select (select .cse2 .cse3) .cse4)))))))) (not (= (bvneg (bvneg (select |c_#valid| v_~head~0.base_154))) (_ bv0 1))) (not (= (select v_arrayElimArr_27 (_ bv4 32)) c_~head~0.base)) (not (= c_~head~0.offset (select v_arrayElimArr_28 (_ bv4 32)))))) is different from false [2022-02-20 23:38:28,036 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:38:28,036 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [237715340] [2022-02-20 23:38:28,036 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [237715340] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:28,036 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1000489596] [2022-02-20 23:38:28,036 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:38:28,036 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:38:28,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:38:28,038 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:38:28,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (21)] Waiting until timeout for monitored process [2022-02-20 23:38:28,529 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:38:28,529 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:38:28,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 99 conjunts are in the unsatisfiable core [2022-02-20 23:38:28,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:28,578 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:28,591 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-02-20 23:38:28,595 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-02-20 23:38:28,851 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 13 treesize of output 9 [2022-02-20 23:38:28,856 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 13 treesize of output 9