./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/memsafety/test-0137.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) 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/memsafety/test-0137.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-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-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1c2d362b3c58f37a9b1e964b448eb3d54c85d26676417295a73853b3a7cc716a --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:44:47,526 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:44:47,527 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:44:47,550 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:44:47,550 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:44:47,553 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:44:47,555 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:44:47,559 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:44:47,561 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:44:47,564 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:44:47,565 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:44:47,566 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:44:47,566 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:44:47,568 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:44:47,569 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:44:47,570 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:44:47,571 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:44:47,572 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:44:47,575 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:44:47,579 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:44:47,580 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:44:47,580 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:44:47,582 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:44:47,583 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:44:47,587 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:44:47,588 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:44:47,588 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:44:47,589 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:44:47,589 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:44:47,590 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:44:47,591 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:44:47,591 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:44:47,592 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:44:47,593 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:44:47,594 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:44:47,595 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:44:47,595 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:44:47,595 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:44:47,595 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:44:47,596 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:44:47,596 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:44:47,598 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:44:47,628 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:44:47,628 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:44:47,629 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:44:47,629 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:44:47,629 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:44:47,630 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:44:47,630 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:44:47,630 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:44:47,630 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:44:47,630 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:44:47,631 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:44:47,631 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:44:47,631 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:44:47,632 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:44:47,633 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:44:47,633 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:44:47,633 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:44:47,633 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:44:47,633 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:44:47,633 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:44:47,634 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:44:47,634 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:44:47,635 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:44:47,635 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-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) 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 -> 1c2d362b3c58f37a9b1e964b448eb3d54c85d26676417295a73853b3a7cc716a [2022-02-20 23:44:47,842 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:44:47,866 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:44:47,869 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:44:47,870 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:44:47,870 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:44:47,871 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/memsafety/test-0137.i [2022-02-20 23:44:47,929 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b7b496fd/9e79facbee75426f80f4e6ad63293b8a/FLAGdc6ac9c2f [2022-02-20 23:44:48,322 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:44:48,323 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/memsafety/test-0137.i [2022-02-20 23:44:48,336 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b7b496fd/9e79facbee75426f80f4e6ad63293b8a/FLAGdc6ac9c2f [2022-02-20 23:44:48,674 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b7b496fd/9e79facbee75426f80f4e6ad63293b8a [2022-02-20 23:44:48,675 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:44:48,676 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:44:48,679 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:44:48,679 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:44:48,684 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:44:48,685 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:44:48" (1/1) ... [2022-02-20 23:44:48,686 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@33f4a2f8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:48, skipping insertion in model container [2022-02-20 23:44:48,687 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:44:48" (1/1) ... [2022-02-20 23:44:48,692 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:44:48,730 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:44:48,976 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:44:48,985 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:44:48,985 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@1b5e1133 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:48, skipping insertion in model container [2022-02-20 23:44:48,986 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:44:48,986 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:44:48,989 INFO L158 Benchmark]: Toolchain (without parser) took 310.93ms. Allocated memory is still 107.0MB. Free memory was 80.4MB in the beginning and 79.4MB in the end (delta: 1.0MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 23:44:48,990 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 81.8MB. Free memory is still 41.8MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:44:48,991 INFO L158 Benchmark]: CACSL2BoogieTranslator took 307.22ms. Allocated memory is still 107.0MB. Free memory was 80.2MB in the beginning and 79.4MB in the end (delta: 807.4kB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 23:44:48,992 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.14ms. Allocated memory is still 81.8MB. Free memory is still 41.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 307.22ms. Allocated memory is still 107.0MB. Free memory was 80.2MB in the beginning and 79.4MB in the end (delta: 807.4kB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 585]: 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/memsafety/test-0137.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-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-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1c2d362b3c58f37a9b1e964b448eb3d54c85d26676417295a73853b3a7cc716a --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:44:50,457 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:44:50,459 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:44:50,489 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:44:50,490 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:44:50,492 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:44:50,493 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:44:50,497 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:44:50,498 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:44:50,501 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:44:50,502 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:44:50,503 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:44:50,503 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:44:50,505 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:44:50,506 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:44:50,510 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:44:50,511 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:44:50,511 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:44:50,513 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:44:50,517 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:44:50,518 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:44:50,519 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:44:50,520 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:44:50,521 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:44:50,525 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:44:50,525 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:44:50,526 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:44:50,527 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:44:50,527 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:44:50,528 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:44:50,528 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:44:50,528 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:44:50,530 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:44:50,530 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:44:50,531 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:44:50,531 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:44:50,532 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:44:50,532 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:44:50,532 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:44:50,533 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:44:50,534 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:44:50,537 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2022-02-20 23:44:50,565 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:44:50,565 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:44:50,566 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:44:50,566 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:44:50,567 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:44:50,567 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:44:50,568 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:44:50,568 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:44:50,568 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:44:50,569 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:44:50,569 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:44:50,569 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:44:50,570 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:44:50,571 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:44:50,571 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:44:50,571 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:44:50,571 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:44:50,571 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:44:50,571 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:44:50,571 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:44:50,572 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:44:50,578 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:44:50,578 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:44:50,578 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:44:50,579 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:44:50,579 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:44:50,579 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:44:50,579 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-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) 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 -> 1c2d362b3c58f37a9b1e964b448eb3d54c85d26676417295a73853b3a7cc716a [2022-02-20 23:44:50,833 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:44:50,850 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:44:50,852 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:44:50,854 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:44:50,854 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:44:50,856 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/memsafety/test-0137.i [2022-02-20 23:44:50,931 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7c1a27fc3/6fd7b63b083149a085b0acdd675d0db5/FLAGe1d8f9ea3 [2022-02-20 23:44:51,369 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:44:51,377 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/memsafety/test-0137.i [2022-02-20 23:44:51,392 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7c1a27fc3/6fd7b63b083149a085b0acdd675d0db5/FLAGe1d8f9ea3 [2022-02-20 23:44:51,404 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7c1a27fc3/6fd7b63b083149a085b0acdd675d0db5 [2022-02-20 23:44:51,406 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:44:51,407 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:44:51,409 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:44:51,409 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:44:51,412 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:44:51,413 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,414 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5a88db9f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51, skipping insertion in model container [2022-02-20 23:44:51,414 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,418 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:44:51,448 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:44:51,741 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:44:51,756 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:44:51,763 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:44:51,802 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:44:51,821 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:44:51,846 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:44:51,869 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:44:51,870 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51 WrapperNode [2022-02-20 23:44:51,870 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:44:51,871 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:44:51,871 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:44:51,871 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:44:51,876 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:44:51" (1/1) ... [2022-02-20 23:44:51,890 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:44:51" (1/1) ... [2022-02-20 23:44:51,912 INFO L137 Inliner]: procedures = 140, calls = 60, calls flagged for inlining = 9, calls inlined = 9, statements flattened = 137 [2022-02-20 23:44:51,913 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:44:51,913 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:44:51,913 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:44:51,914 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:44:51,919 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,919 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,944 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,944 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,962 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,967 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,980 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,983 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:44:51,984 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:44:51,984 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:44:51,984 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:44:51,985 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (1/1) ... [2022-02-20 23:44:51,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:44:52,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:44:52,015 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:44:52,024 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:44:52,040 INFO L130 BoogieDeclarations]: Found specification of procedure list_empty [2022-02-20 23:44:52,040 INFO L138 BoogieDeclarations]: Found implementation of procedure list_empty [2022-02-20 23:44:52,040 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:44:52,040 INFO L130 BoogieDeclarations]: Found specification of procedure __list_del [2022-02-20 23:44:52,040 INFO L138 BoogieDeclarations]: Found implementation of procedure __list_del [2022-02-20 23:44:52,040 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:44:52,041 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:44:52,041 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:44:52,041 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:44:52,041 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:44:52,041 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2022-02-20 23:44:52,041 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2022-02-20 23:44:52,041 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:44:52,042 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:44:52,042 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:44:52,042 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:44:52,042 INFO L130 BoogieDeclarations]: Found specification of procedure val_from_node [2022-02-20 23:44:52,042 INFO L138 BoogieDeclarations]: Found implementation of procedure val_from_node [2022-02-20 23:44:52,042 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:44:52,042 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:44:52,125 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:44:52,126 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:44:52,523 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:44:52,528 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:44:52,528 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 23:44:52,529 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:44:52 BoogieIcfgContainer [2022-02-20 23:44:52,529 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:44:52,530 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:44:52,530 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:44:52,535 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:44:52,535 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:44:51" (1/3) ... [2022-02-20 23:44:52,536 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4fe2ec4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:44:52, skipping insertion in model container [2022-02-20 23:44:52,536 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:44:51" (2/3) ... [2022-02-20 23:44:52,536 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4fe2ec4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:44:52, skipping insertion in model container [2022-02-20 23:44:52,536 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:44:52" (3/3) ... [2022-02-20 23:44:52,537 INFO L111 eAbstractionObserver]: Analyzing ICFG test-0137.i [2022-02-20 23:44:52,542 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:44:52,542 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 56 error locations. [2022-02-20 23:44:52,576 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:44:52,582 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:44:52,582 INFO L340 AbstractCegarLoop]: Starting to check reachability of 56 error locations. [2022-02-20 23:44:52,600 INFO L276 IsEmpty]: Start isEmpty. Operand has 141 states, 73 states have (on average 1.9315068493150684) internal successors, (141), 129 states have internal predecessors, (141), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:52,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:44:52,604 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:44:52,604 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:44:52,605 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:44:52,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:44:52,609 INFO L85 PathProgramCache]: Analyzing trace with hash 66866992, now seen corresponding path program 1 times [2022-02-20 23:44:52,618 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:44:52,619 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1154699485] [2022-02-20 23:44:52,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:44:52,620 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:44:52,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:44:52,645 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:44:52,647 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:44:52,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:52,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 34 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 23:44:52,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:52,726 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:44:52,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {144#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {144#true} is VALID [2022-02-20 23:44:52,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {144#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {144#true} is VALID [2022-02-20 23:44:52,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {144#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {144#true} is VALID [2022-02-20 23:44:52,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {144#true} assume gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32;assume false; {145#false} is VALID [2022-02-20 23:44:52,757 INFO L290 TraceCheckUtils]: 4: Hoare triple {145#false} assume !(1bv1 == #valid[gl_insert_~node~0#1.base]); {145#false} is VALID [2022-02-20 23:44:52,758 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:44:52,758 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:44:52,759 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:44:52,759 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1154699485] [2022-02-20 23:44:52,760 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1154699485] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:44:52,760 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:44:52,760 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:44:52,762 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [176437067] [2022-02-20 23:44:52,762 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:44:52,767 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:44:52,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:44:52,770 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:52,777 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:52,777 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 23:44:52,777 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:44:52,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 23:44:52,790 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 23:44:52,793 INFO L87 Difference]: Start difference. First operand has 141 states, 73 states have (on average 1.9315068493150684) internal successors, (141), 129 states have internal predecessors, (141), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:52,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:52,972 INFO L93 Difference]: Finished difference Result 141 states and 150 transitions. [2022-02-20 23:44:52,972 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 23:44:52,973 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:44:52,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:44:52,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:52,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 155 transitions. [2022-02-20 23:44:52,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:52,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 155 transitions. [2022-02-20 23:44:52,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 155 transitions. [2022-02-20 23:44:53,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:53,167 INFO L225 Difference]: With dead ends: 141 [2022-02-20 23:44:53,168 INFO L226 Difference]: Without dead ends: 139 [2022-02-20 23:44:53,169 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 23:44:53,173 INFO L933 BasicCegarLoop]: 150 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:44:53,174 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:44:53,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2022-02-20 23:44:53,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 139. [2022-02-20 23:44:53,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:44:53,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand has 139 states, 72 states have (on average 1.8611111111111112) internal successors, (134), 127 states have internal predecessors, (134), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:53,214 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand has 139 states, 72 states have (on average 1.8611111111111112) internal successors, (134), 127 states have internal predecessors, (134), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:53,215 INFO L87 Difference]: Start difference. First operand 139 states. Second operand has 139 states, 72 states have (on average 1.8611111111111112) internal successors, (134), 127 states have internal predecessors, (134), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:53,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:53,235 INFO L93 Difference]: Finished difference Result 139 states and 148 transitions. [2022-02-20 23:44:53,236 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 148 transitions. [2022-02-20 23:44:53,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:53,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:53,238 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 72 states have (on average 1.8611111111111112) internal successors, (134), 127 states have internal predecessors, (134), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 139 states. [2022-02-20 23:44:53,238 INFO L87 Difference]: Start difference. First operand has 139 states, 72 states have (on average 1.8611111111111112) internal successors, (134), 127 states have internal predecessors, (134), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 139 states. [2022-02-20 23:44:53,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:53,245 INFO L93 Difference]: Finished difference Result 139 states and 148 transitions. [2022-02-20 23:44:53,245 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 148 transitions. [2022-02-20 23:44:53,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:53,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:53,246 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:44:53,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:44:53,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 72 states have (on average 1.8611111111111112) internal successors, (134), 127 states have internal predecessors, (134), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:53,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 148 transitions. [2022-02-20 23:44:53,256 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 148 transitions. Word has length 5 [2022-02-20 23:44:53,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:44:53,257 INFO L470 AbstractCegarLoop]: Abstraction has 139 states and 148 transitions. [2022-02-20 23:44:53,257 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 2.5) internal successors, (5), 2 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:53,257 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 148 transitions. [2022-02-20 23:44:53,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:44:53,258 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:44:53,258 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:44:53,273 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:44:53,465 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:44:53,465 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:44:53,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:44:53,468 INFO L85 PathProgramCache]: Analyzing trace with hash 66867054, now seen corresponding path program 1 times [2022-02-20 23:44:53,468 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:44:53,468 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1772786034] [2022-02-20 23:44:53,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:44:53,469 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:44:53,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:44:53,470 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:44:53,473 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:44:53,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:53,511 INFO L263 TraceCheckSpWp]: Trace formula consists of 34 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:44:53,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:53,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:44:53,551 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:44:53,560 INFO L290 TraceCheckUtils]: 0: Hoare triple {718#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {718#true} is VALID [2022-02-20 23:44:53,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {718#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {718#true} is VALID [2022-02-20 23:44:53,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {718#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {729#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:44:53,562 INFO L290 TraceCheckUtils]: 3: Hoare triple {729#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {729#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:44:53,562 INFO L290 TraceCheckUtils]: 4: Hoare triple {729#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[gl_insert_~node~0#1.base]); {719#false} is VALID [2022-02-20 23:44:53,563 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:44:53,563 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:44:53,563 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:44:53,563 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1772786034] [2022-02-20 23:44:53,563 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1772786034] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:44:53,563 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:44:53,564 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:44:53,564 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1260521334] [2022-02-20 23:44:53,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:44:53,565 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:44:53,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:44:53,565 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:53,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:53,570 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:44:53,570 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:44:53,571 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:44:53,571 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:44:53,571 INFO L87 Difference]: Start difference. First operand 139 states and 148 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:54,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:54,036 INFO L93 Difference]: Finished difference Result 161 states and 170 transitions. [2022-02-20 23:44:54,036 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:44:54,047 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:44:54,048 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:44:54,048 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:54,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 171 transitions. [2022-02-20 23:44:54,052 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:54,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 171 transitions. [2022-02-20 23:44:54,054 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 171 transitions. [2022-02-20 23:44:54,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:54,216 INFO L225 Difference]: With dead ends: 161 [2022-02-20 23:44:54,216 INFO L226 Difference]: Without dead ends: 161 [2022-02-20 23:44:54,216 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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:44:54,217 INFO L933 BasicCegarLoop]: 107 mSDtfsCounter, 87 mSDsluCounter, 34 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:44:54,217 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 141 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:44:54,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-02-20 23:44:54,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 138. [2022-02-20 23:44:54,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:44:54,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 138 states, 72 states have (on average 1.8472222222222223) internal successors, (133), 126 states have internal predecessors, (133), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:54,222 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 138 states, 72 states have (on average 1.8472222222222223) internal successors, (133), 126 states have internal predecessors, (133), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:54,222 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 138 states, 72 states have (on average 1.8472222222222223) internal successors, (133), 126 states have internal predecessors, (133), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:54,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:54,227 INFO L93 Difference]: Finished difference Result 161 states and 170 transitions. [2022-02-20 23:44:54,227 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 170 transitions. [2022-02-20 23:44:54,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:54,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:54,229 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 72 states have (on average 1.8472222222222223) internal successors, (133), 126 states have internal predecessors, (133), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 161 states. [2022-02-20 23:44:54,229 INFO L87 Difference]: Start difference. First operand has 138 states, 72 states have (on average 1.8472222222222223) internal successors, (133), 126 states have internal predecessors, (133), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 161 states. [2022-02-20 23:44:54,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:54,234 INFO L93 Difference]: Finished difference Result 161 states and 170 transitions. [2022-02-20 23:44:54,234 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 170 transitions. [2022-02-20 23:44:54,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:54,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:54,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:44:54,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:44:54,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 72 states have (on average 1.8472222222222223) internal successors, (133), 126 states have internal predecessors, (133), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:54,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 147 transitions. [2022-02-20 23:44:54,239 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 147 transitions. Word has length 5 [2022-02-20 23:44:54,239 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:44:54,239 INFO L470 AbstractCegarLoop]: Abstraction has 138 states and 147 transitions. [2022-02-20 23:44:54,239 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:54,239 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 147 transitions. [2022-02-20 23:44:54,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:44:54,240 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:44:54,240 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:44:54,261 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:44:54,446 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:44:54,447 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:44:54,447 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:44:54,448 INFO L85 PathProgramCache]: Analyzing trace with hash 66867055, now seen corresponding path program 1 times [2022-02-20 23:44:54,448 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:44:54,448 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1373284444] [2022-02-20 23:44:54,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:44:54,448 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:44:54,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:44:54,453 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:44:54,503 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:44:54,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:54,519 INFO L263 TraceCheckSpWp]: Trace formula consists of 34 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:44:54,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:54,525 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:44:54,550 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:44:54,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {1356#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {1356#true} is VALID [2022-02-20 23:44:54,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {1356#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {1356#true} is VALID [2022-02-20 23:44:54,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {1356#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {1367#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:44:54,569 INFO L290 TraceCheckUtils]: 3: Hoare triple {1367#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {1367#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:44:54,570 INFO L290 TraceCheckUtils]: 4: Hoare triple {1367#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, gl_insert_~node~0#1.offset), #length[gl_insert_~node~0#1.base]) && ~bvule32(gl_insert_~node~0#1.offset, ~bvadd32(4bv32, gl_insert_~node~0#1.offset))) && ~bvule32(0bv32, gl_insert_~node~0#1.offset)); {1357#false} is VALID [2022-02-20 23:44:54,570 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:44:54,570 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:44:54,570 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:44:54,570 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1373284444] [2022-02-20 23:44:54,571 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1373284444] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:44:54,571 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:44:54,571 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:44:54,571 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [963426916] [2022-02-20 23:44:54,571 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:44:54,571 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:44:54,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:44:54,572 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:54,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:54,577 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:44:54,577 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:44:54,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:44:54,578 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:44:54,578 INFO L87 Difference]: Start difference. First operand 138 states and 147 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:55,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:55,052 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:44:55,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:44:55,053 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:44:55,053 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:44:55,053 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:55,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 170 transitions. [2022-02-20 23:44:55,055 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:55,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 170 transitions. [2022-02-20 23:44:55,058 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 170 transitions. [2022-02-20 23:44:55,214 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:44:55,216 INFO L225 Difference]: With dead ends: 160 [2022-02-20 23:44:55,217 INFO L226 Difference]: Without dead ends: 160 [2022-02-20 23:44:55,217 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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:44:55,218 INFO L933 BasicCegarLoop]: 137 mSDtfsCounter, 28 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:44:55,218 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 219 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:44:55,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-02-20 23:44:55,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 137. [2022-02-20 23:44:55,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:44:55,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 137 states, 72 states have (on average 1.8333333333333333) internal successors, (132), 125 states have internal predecessors, (132), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:55,223 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 137 states, 72 states have (on average 1.8333333333333333) internal successors, (132), 125 states have internal predecessors, (132), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:55,223 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 137 states, 72 states have (on average 1.8333333333333333) internal successors, (132), 125 states have internal predecessors, (132), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:55,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:55,227 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:44:55,227 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 169 transitions. [2022-02-20 23:44:55,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:55,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:55,228 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 72 states have (on average 1.8333333333333333) internal successors, (132), 125 states have internal predecessors, (132), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 160 states. [2022-02-20 23:44:55,229 INFO L87 Difference]: Start difference. First operand has 137 states, 72 states have (on average 1.8333333333333333) internal successors, (132), 125 states have internal predecessors, (132), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 160 states. [2022-02-20 23:44:55,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:55,232 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:44:55,233 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 169 transitions. [2022-02-20 23:44:55,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:55,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:55,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:44:55,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:44:55,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 72 states have (on average 1.8333333333333333) internal successors, (132), 125 states have internal predecessors, (132), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:55,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 146 transitions. [2022-02-20 23:44:55,237 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 146 transitions. Word has length 5 [2022-02-20 23:44:55,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:44:55,237 INFO L470 AbstractCegarLoop]: Abstraction has 137 states and 146 transitions. [2022-02-20 23:44:55,238 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:44:55,238 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 146 transitions. [2022-02-20 23:44:55,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 23:44:55,238 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:44:55,238 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:44:55,245 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:44:55,444 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:44:55,445 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting list_addErr0REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:44:55,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:44:55,445 INFO L85 PathProgramCache]: Analyzing trace with hash -828252735, now seen corresponding path program 1 times [2022-02-20 23:44:55,445 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:44:55,445 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1805863597] [2022-02-20 23:44:55,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:44:55,446 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:44:55,446 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:44:55,453 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:44:55,454 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:44:55,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:55,518 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:44:55,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:55,525 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:44:55,595 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:44:55,595 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 12 treesize of output 17 [2022-02-20 23:44:55,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {1990#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:55,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:55,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:55,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:55,672 INFO L290 TraceCheckUtils]: 4: Hoare triple {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:55,673 INFO L272 TraceCheckUtils]: 5: Hoare triple {1995#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {2011#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)))} is VALID [2022-02-20 23:44:55,673 INFO L290 TraceCheckUtils]: 6: Hoare triple {2011#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {2015#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |list_add_~head#1.base| (_ bv3 32)))} is VALID [2022-02-20 23:44:55,674 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |list_add_~head#1.base| (_ bv3 32)))} assume !(1bv1 == #valid[~head#1.base]); {1991#false} is VALID [2022-02-20 23:44:55,674 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:44:55,674 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:44:55,674 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:44:55,674 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1805863597] [2022-02-20 23:44:55,675 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1805863597] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:44:55,675 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:44:55,675 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:44:55,675 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2036377554] [2022-02-20 23:44:55,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:44:55,676 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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 8 [2022-02-20 23:44:55,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:44:55,676 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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:44:55,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:55,693 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:44:55,693 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:44:55,693 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:44:55,694 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:44:55,694 INFO L87 Difference]: Start difference. First operand 137 states and 146 transitions. Second operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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:44:56,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:56,675 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2022-02-20 23:44:56,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:44:56,675 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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 8 [2022-02-20 23:44:56,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:44:56,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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:44:56,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 187 transitions. [2022-02-20 23:44:56,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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:44:56,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 187 transitions. [2022-02-20 23:44:56,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 187 transitions. [2022-02-20 23:44:56,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:56,872 INFO L225 Difference]: With dead ends: 173 [2022-02-20 23:44:56,872 INFO L226 Difference]: Without dead ends: 173 [2022-02-20 23:44:56,872 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:44:56,873 INFO L933 BasicCegarLoop]: 79 mSDtfsCounter, 185 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 235 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 186 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 235 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:44:56,873 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [186 Valid, 216 Invalid, 241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 235 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:44:56,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-02-20 23:44:56,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 150. [2022-02-20 23:44:56,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:44:56,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 150 states, 87 states have (on average 1.8160919540229885) internal successors, (158), 137 states have internal predecessors, (158), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:56,878 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 150 states, 87 states have (on average 1.8160919540229885) internal successors, (158), 137 states have internal predecessors, (158), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:56,879 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 150 states, 87 states have (on average 1.8160919540229885) internal successors, (158), 137 states have internal predecessors, (158), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:56,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:56,882 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2022-02-20 23:44:56,882 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2022-02-20 23:44:56,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:56,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:56,883 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 87 states have (on average 1.8160919540229885) internal successors, (158), 137 states have internal predecessors, (158), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 173 states. [2022-02-20 23:44:56,883 INFO L87 Difference]: Start difference. First operand has 150 states, 87 states have (on average 1.8160919540229885) internal successors, (158), 137 states have internal predecessors, (158), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 173 states. [2022-02-20 23:44:56,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:56,887 INFO L93 Difference]: Finished difference Result 173 states and 181 transitions. [2022-02-20 23:44:56,887 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 181 transitions. [2022-02-20 23:44:56,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:56,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:56,888 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:44:56,888 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:44:56,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 87 states have (on average 1.8160919540229885) internal successors, (158), 137 states have internal predecessors, (158), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:56,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 172 transitions. [2022-02-20 23:44:56,891 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 172 transitions. Word has length 8 [2022-02-20 23:44:56,891 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:44:56,891 INFO L470 AbstractCegarLoop]: Abstraction has 150 states and 172 transitions. [2022-02-20 23:44:56,891 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 3 states have internal predecessors, (7), 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:44:56,892 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 172 transitions. [2022-02-20 23:44:56,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 23:44:56,892 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:44:56,892 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:44:56,899 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:44:57,099 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:44:57,099 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting list_addErr1REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:44:57,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:44:57,100 INFO L85 PathProgramCache]: Analyzing trace with hash -828252734, now seen corresponding path program 1 times [2022-02-20 23:44:57,100 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:44:57,100 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [938572587] [2022-02-20 23:44:57,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:44:57,100 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:44:57,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:44:57,102 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:44:57,103 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:44:57,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:57,204 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:44:57,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:57,227 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:44:57,331 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:44:57,332 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 12 treesize of output 14 [2022-02-20 23:44:57,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {2691#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {2696#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:57,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {2696#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {2696#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:57,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {2696#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {2703#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:57,401 INFO L290 TraceCheckUtils]: 3: Hoare triple {2703#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {2703#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:57,402 INFO L290 TraceCheckUtils]: 4: Hoare triple {2703#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {2703#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:57,403 INFO L272 TraceCheckUtils]: 5: Hoare triple {2703#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {2713#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (_ bv0 32) |list_add_#in~head#1.offset|))} is VALID [2022-02-20 23:44:57,404 INFO L290 TraceCheckUtils]: 6: Hoare triple {2713#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (_ bv0 32) |list_add_#in~head#1.offset|))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {2717#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:44:57,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {2717#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~head#1.offset), #length[~head#1.base]) && ~bvule32(~head#1.offset, ~bvadd32(4bv32, ~head#1.offset))) && ~bvule32(0bv32, ~head#1.offset)); {2692#false} is VALID [2022-02-20 23:44:57,404 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:44:57,404 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:44:57,405 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:44:57,405 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [938572587] [2022-02-20 23:44:57,405 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [938572587] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:44:57,405 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:44:57,405 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:44:57,405 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575764702] [2022-02-20 23:44:57,405 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:44:57,406 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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 8 [2022-02-20 23:44:57,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:44:57,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:44:57,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:57,417 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:44:57,417 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:44:57,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:44:57,417 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:44:57,417 INFO L87 Difference]: Start difference. First operand 150 states and 172 transitions. Second operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:44:58,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:58,625 INFO L93 Difference]: Finished difference Result 152 states and 163 transitions. [2022-02-20 23:44:58,625 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:44:58,625 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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 8 [2022-02-20 23:44:58,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:44:58,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:44:58,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 164 transitions. [2022-02-20 23:44:58,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:44:58,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 164 transitions. [2022-02-20 23:44:58,629 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 164 transitions. [2022-02-20 23:44:58,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:58,818 INFO L225 Difference]: With dead ends: 152 [2022-02-20 23:44:58,818 INFO L226 Difference]: Without dead ends: 152 [2022-02-20 23:44:58,818 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:44:58,818 INFO L933 BasicCegarLoop]: 58 mSDtfsCounter, 314 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 266 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 315 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 266 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:44:58,818 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [315 Valid, 148 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 266 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:44:58,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-02-20 23:44:58,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 140. [2022-02-20 23:44:58,822 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:44:58,823 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand has 140 states, 83 states have (on average 1.7108433734939759) internal successors, (142), 127 states have internal predecessors, (142), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:58,823 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand has 140 states, 83 states have (on average 1.7108433734939759) internal successors, (142), 127 states have internal predecessors, (142), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:58,823 INFO L87 Difference]: Start difference. First operand 152 states. Second operand has 140 states, 83 states have (on average 1.7108433734939759) internal successors, (142), 127 states have internal predecessors, (142), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:58,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:58,826 INFO L93 Difference]: Finished difference Result 152 states and 163 transitions. [2022-02-20 23:44:58,826 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 163 transitions. [2022-02-20 23:44:58,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:58,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:58,827 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 83 states have (on average 1.7108433734939759) internal successors, (142), 127 states have internal predecessors, (142), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 152 states. [2022-02-20 23:44:58,827 INFO L87 Difference]: Start difference. First operand has 140 states, 83 states have (on average 1.7108433734939759) internal successors, (142), 127 states have internal predecessors, (142), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 152 states. [2022-02-20 23:44:58,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:44:58,830 INFO L93 Difference]: Finished difference Result 152 states and 163 transitions. [2022-02-20 23:44:58,830 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 163 transitions. [2022-02-20 23:44:58,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:44:58,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:44:58,831 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:44:58,831 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:44:58,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 83 states have (on average 1.7108433734939759) internal successors, (142), 127 states have internal predecessors, (142), 7 states have call successors, (7), 5 states have call predecessors, (7), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 23:44:58,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 156 transitions. [2022-02-20 23:44:58,834 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 156 transitions. Word has length 8 [2022-02-20 23:44:58,834 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:44:58,834 INFO L470 AbstractCegarLoop]: Abstraction has 140 states and 156 transitions. [2022-02-20 23:44:58,834 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.4) internal successors, (7), 4 states have internal predecessors, (7), 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:44:58,834 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 156 transitions. [2022-02-20 23:44:58,835 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 23:44:58,835 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:44:58,835 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:44:58,844 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Ended with exit code 0 [2022-02-20 23:44:59,041 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:44:59,042 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting list_addErr2REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:44:59,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:44:59,042 INFO L85 PathProgramCache]: Analyzing trace with hash -1381928766, now seen corresponding path program 1 times [2022-02-20 23:44:59,042 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:44:59,043 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1221101194] [2022-02-20 23:44:59,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:44:59,043 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:44:59,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:44:59,044 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:44:59,045 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:44:59,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:59,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:44:59,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:44:59,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:44:59,211 INFO L356 Elim1Store]: treesize reduction 13, result has 23.5 percent of original size [2022-02-20 23:44:59,212 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 14 [2022-02-20 23:44:59,277 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 14 treesize of output 16 [2022-02-20 23:44:59,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 15 treesize of output 7 [2022-02-20 23:44:59,376 INFO L290 TraceCheckUtils]: 0: Hoare triple {3320#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {3325#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (select |#valid| (_ bv0 32))))} is VALID [2022-02-20 23:44:59,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {3325#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (select |#valid| (_ bv0 32))))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {3325#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (select |#valid| (_ bv0 32))))} is VALID [2022-02-20 23:44:59,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {3325#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (select |#valid| (_ bv0 32))))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {3332#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:59,377 INFO L290 TraceCheckUtils]: 3: Hoare triple {3332#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {3332#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:59,380 INFO L290 TraceCheckUtils]: 4: Hoare triple {3332#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {3339#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:44:59,381 INFO L272 TraceCheckUtils]: 5: Hoare triple {3339#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {3343#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= |list_add_#in~head#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:44:59,382 INFO L290 TraceCheckUtils]: 6: Hoare triple {3343#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= |list_add_#in~head#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {3347#(and (= (select (select |#memory_$Pointer$.base| (_ bv3 32)) |list_add_~head#1.offset|) (_ bv3 32)) (= |list_add_~head#1.base| (_ bv3 32)))} is VALID [2022-02-20 23:44:59,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {3347#(and (= (select (select |#memory_$Pointer$.base| (_ bv3 32)) |list_add_~head#1.offset|) (_ bv3 32)) (= |list_add_~head#1.base| (_ bv3 32)))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {3351#(and (= |list_add_#t~mem4#1.base| (_ bv3 32)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)))} is VALID [2022-02-20 23:44:59,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {3351#(and (= |list_add_#t~mem4#1.base| (_ bv3 32)) (= (select |#valid| (_ bv3 32)) (_ bv1 1)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {3355#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |list_add___list_add_~next#1.base|))} is VALID [2022-02-20 23:44:59,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {3355#(and (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= (_ bv3 32) |list_add___list_add_~next#1.base|))} assume !(1bv1 == #valid[__list_add_~next#1.base]); {3321#false} is VALID [2022-02-20 23:44:59,383 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:44:59,384 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:44:59,384 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:44:59,384 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1221101194] [2022-02-20 23:44:59,384 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1221101194] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:44:59,384 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:44:59,384 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:44:59,384 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55956810] [2022-02-20 23:44:59,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:44:59,385 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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 10 [2022-02-20 23:44:59,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:44:59,385 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:44:59,397 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:44:59,397 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:44:59,398 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:44:59,398 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:44:59,398 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:44:59,398 INFO L87 Difference]: Start difference. First operand 140 states and 156 transitions. Second operand has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:00,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:00,752 INFO L93 Difference]: Finished difference Result 161 states and 177 transitions. [2022-02-20 23:45:00,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:45:00,752 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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 10 [2022-02-20 23:45:00,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:00,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:00,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 159 transitions. [2022-02-20 23:45:00,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:00,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 159 transitions. [2022-02-20 23:45:00,756 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 159 transitions. [2022-02-20 23:45:00,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 159 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:00,862 INFO L225 Difference]: With dead ends: 161 [2022-02-20 23:45:00,862 INFO L226 Difference]: Without dead ends: 161 [2022-02-20 23:45:00,863 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:45:00,865 INFO L933 BasicCegarLoop]: 122 mSDtfsCounter, 41 mSDsluCounter, 457 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 579 SdHoareTripleChecker+Invalid, 263 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:00,865 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 579 Invalid, 263 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:45:00,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-02-20 23:45:00,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 154. [2022-02-20 23:45:00,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:00,876 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 154 states, 95 states have (on average 1.694736842105263) internal successors, (161), 140 states have internal predecessors, (161), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:00,877 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 154 states, 95 states have (on average 1.694736842105263) internal successors, (161), 140 states have internal predecessors, (161), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:00,877 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 154 states, 95 states have (on average 1.694736842105263) internal successors, (161), 140 states have internal predecessors, (161), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:00,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:00,882 INFO L93 Difference]: Finished difference Result 161 states and 177 transitions. [2022-02-20 23:45:00,882 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 177 transitions. [2022-02-20 23:45:00,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:00,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:00,883 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 95 states have (on average 1.694736842105263) internal successors, (161), 140 states have internal predecessors, (161), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 161 states. [2022-02-20 23:45:00,883 INFO L87 Difference]: Start difference. First operand has 154 states, 95 states have (on average 1.694736842105263) internal successors, (161), 140 states have internal predecessors, (161), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 161 states. [2022-02-20 23:45:00,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:00,890 INFO L93 Difference]: Finished difference Result 161 states and 177 transitions. [2022-02-20 23:45:00,890 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 177 transitions. [2022-02-20 23:45:00,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:00,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:00,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:00,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:00,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 95 states have (on average 1.694736842105263) internal successors, (161), 140 states have internal predecessors, (161), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:00,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 177 transitions. [2022-02-20 23:45:00,894 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 177 transitions. Word has length 10 [2022-02-20 23:45:00,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:00,894 INFO L470 AbstractCegarLoop]: Abstraction has 154 states and 177 transitions. [2022-02-20 23:45:00,894 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:00,895 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 177 transitions. [2022-02-20 23:45:00,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 23:45:00,895 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:00,895 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:00,904 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:45:01,104 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:45:01,104 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting list_addErr3REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:01,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:01,105 INFO L85 PathProgramCache]: Analyzing trace with hash -1381928765, now seen corresponding path program 1 times [2022-02-20 23:45:01,105 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:01,105 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1490163596] [2022-02-20 23:45:01,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:01,105 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:01,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:01,106 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:45:01,108 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:45:01,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:01,255 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 23:45:01,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:01,263 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:01,341 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:45:01,342 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:45:01,349 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 12 treesize of output 14 [2022-02-20 23:45:01,425 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 14 treesize of output 16 [2022-02-20 23:45:01,437 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 14 treesize of output 16 [2022-02-20 23:45:01,547 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:45:01,558 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:45:01,599 INFO L290 TraceCheckUtils]: 0: Hoare triple {4007#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {4012#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:01,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {4012#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {4012#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:01,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {4012#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= (select |#valid| (_ bv3 32)) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {4019#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:01,602 INFO L290 TraceCheckUtils]: 3: Hoare triple {4019#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {4019#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:01,604 INFO L290 TraceCheckUtils]: 4: Hoare triple {4019#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {4026#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:01,605 INFO L272 TraceCheckUtils]: 5: Hoare triple {4026#(and (= |~#gl_list~0.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|) |~#gl_list~0.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {4030#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (_ bv0 32) |list_add_#in~head#1.offset|) (= (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) (_ bv0 32)) (_ bv0 32)) (= |list_add_#in~head#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) (_ bv0 32))))} is VALID [2022-02-20 23:45:01,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {4030#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= (_ bv0 32) |list_add_#in~head#1.offset|) (= (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) (_ bv0 32)) (_ bv0 32)) (= |list_add_#in~head#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) (_ bv0 32))))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {4034#(and (= (select (select |#memory_$Pointer$.offset| (_ bv3 32)) (_ bv0 32)) (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_$Pointer$.base| (_ bv3 32)) (_ bv0 32))) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:01,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {4034#(and (= (select (select |#memory_$Pointer$.offset| (_ bv3 32)) (_ bv0 32)) (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_$Pointer$.base| (_ bv3 32)) (_ bv0 32))) (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {4038#(and (= |list_add_#t~mem4#1.offset| (_ bv0 32)) (= |list_add_#t~mem4#1.base| (_ bv3 32)) (= (_ bv8 32) (select |#length| (_ bv3 32))))} is VALID [2022-02-20 23:45:01,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {4038#(and (= |list_add_#t~mem4#1.offset| (_ bv0 32)) (= |list_add_#t~mem4#1.base| (_ bv3 32)) (= (_ bv8 32) (select |#length| (_ bv3 32))))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {4042#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |list_add___list_add_~next#1.offset| (_ bv0 32)) (= (_ bv3 32) |list_add___list_add_~next#1.base|))} is VALID [2022-02-20 23:45:01,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {4042#(and (= (_ bv8 32) (select |#length| (_ bv3 32))) (= |list_add___list_add_~next#1.offset| (_ bv0 32)) (= (_ bv3 32) |list_add___list_add_~next#1.base|))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, __list_add_~next#1.offset)), #length[__list_add_~next#1.base]) && ~bvule32(~bvadd32(4bv32, __list_add_~next#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, __list_add_~next#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, __list_add_~next#1.offset))); {4008#false} is VALID [2022-02-20 23:45:01,615 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:45:01,615 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:01,615 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:01,615 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1490163596] [2022-02-20 23:45:01,616 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1490163596] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:01,616 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:01,616 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:45:01,616 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1427162247] [2022-02-20 23:45:01,616 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:01,616 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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 10 [2022-02-20 23:45:01,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:01,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:01,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:01,631 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:45:01,631 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:01,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:45:01,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:45:01,632 INFO L87 Difference]: Start difference. First operand 154 states and 177 transitions. Second operand has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:03,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:03,969 INFO L93 Difference]: Finished difference Result 160 states and 176 transitions. [2022-02-20 23:45:03,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:45:03,969 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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 10 [2022-02-20 23:45:03,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:03,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:03,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 158 transitions. [2022-02-20 23:45:03,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:03,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 158 transitions. [2022-02-20 23:45:03,972 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 158 transitions. [2022-02-20 23:45:04,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:04,127 INFO L225 Difference]: With dead ends: 160 [2022-02-20 23:45:04,127 INFO L226 Difference]: Without dead ends: 160 [2022-02-20 23:45:04,128 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:45:04,128 INFO L933 BasicCegarLoop]: 121 mSDtfsCounter, 39 mSDsluCounter, 473 mSDsCounter, 0 mSdLazyCounter, 380 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 594 SdHoareTripleChecker+Invalid, 397 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 380 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:04,128 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 594 Invalid, 397 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 380 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 23:45:04,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-02-20 23:45:04,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 154. [2022-02-20 23:45:04,130 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:04,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 154 states, 95 states have (on average 1.6842105263157894) internal successors, (160), 140 states have internal predecessors, (160), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:04,131 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 154 states, 95 states have (on average 1.6842105263157894) internal successors, (160), 140 states have internal predecessors, (160), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:04,131 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 154 states, 95 states have (on average 1.6842105263157894) internal successors, (160), 140 states have internal predecessors, (160), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:04,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:04,134 INFO L93 Difference]: Finished difference Result 160 states and 176 transitions. [2022-02-20 23:45:04,134 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 176 transitions. [2022-02-20 23:45:04,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:04,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:04,135 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 95 states have (on average 1.6842105263157894) internal successors, (160), 140 states have internal predecessors, (160), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 160 states. [2022-02-20 23:45:04,137 INFO L87 Difference]: Start difference. First operand has 154 states, 95 states have (on average 1.6842105263157894) internal successors, (160), 140 states have internal predecessors, (160), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 160 states. [2022-02-20 23:45:04,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:04,151 INFO L93 Difference]: Finished difference Result 160 states and 176 transitions. [2022-02-20 23:45:04,151 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 176 transitions. [2022-02-20 23:45:04,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:04,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:04,152 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:04,152 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:04,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 95 states have (on average 1.6842105263157894) internal successors, (160), 140 states have internal predecessors, (160), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:04,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 176 transitions. [2022-02-20 23:45:04,156 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 176 transitions. Word has length 10 [2022-02-20 23:45:04,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:04,161 INFO L470 AbstractCegarLoop]: Abstraction has 154 states and 176 transitions. [2022-02-20 23:45:04,161 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 1.2857142857142858) internal successors, (9), 7 states have internal predecessors, (9), 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:45:04,162 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 176 transitions. [2022-02-20 23:45:04,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:45:04,162 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:04,162 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:04,171 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:45:04,369 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:45:04,370 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting list_addErr4REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:04,370 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:04,370 INFO L85 PathProgramCache]: Analyzing trace with hash 109881212, now seen corresponding path program 1 times [2022-02-20 23:45:04,370 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:04,371 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1992656722] [2022-02-20 23:45:04,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:04,371 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:04,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:04,372 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:45:04,374 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:45:04,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:04,434 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:45:04,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:04,439 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:04,446 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:45:04,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {4691#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {4691#true} is VALID [2022-02-20 23:45:04,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {4691#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {4691#true} is VALID [2022-02-20 23:45:04,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {4691#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {4702#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,484 INFO L290 TraceCheckUtils]: 3: Hoare triple {4702#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {4702#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,484 INFO L290 TraceCheckUtils]: 4: Hoare triple {4702#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {4702#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,484 INFO L272 TraceCheckUtils]: 5: Hoare triple {4702#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {4712#(= (select |#valid| |list_add_#in~new#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,485 INFO L290 TraceCheckUtils]: 6: Hoare triple {4712#(= (select |#valid| |list_add_#in~new#1.base|) (_ bv1 1))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {4716#(= (select |#valid| |list_add_~new#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {4716#(= (select |#valid| |list_add_~new#1.base|) (_ bv1 1))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {4716#(= (select |#valid| |list_add_~new#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {4716#(= (select |#valid| |list_add_~new#1.base|) (_ bv1 1))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {4723#(= (select |#valid| |list_add___list_add_~new#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {4723#(= (select |#valid| |list_add___list_add_~new#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {4723#(= (select |#valid| |list_add___list_add_~new#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:04,486 INFO L290 TraceCheckUtils]: 10: Hoare triple {4723#(= (select |#valid| |list_add___list_add_~new#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[__list_add_~new#1.base]); {4692#false} is VALID [2022-02-20 23:45:04,486 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:45:04,486 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:04,487 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:04,487 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1992656722] [2022-02-20 23:45:04,487 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1992656722] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:04,487 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:04,487 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:45:04,487 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [777495296] [2022-02-20 23:45:04,487 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:04,488 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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 11 [2022-02-20 23:45:04,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:04,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:04,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:04,498 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:45:04,498 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:04,499 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:45:04,499 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:45:04,499 INFO L87 Difference]: Start difference. First operand 154 states and 176 transitions. Second operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:05,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:05,573 INFO L93 Difference]: Finished difference Result 175 states and 187 transitions. [2022-02-20 23:45:05,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:45:05,573 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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 11 [2022-02-20 23:45:05,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:05,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:05,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 173 transitions. [2022-02-20 23:45:05,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:05,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 173 transitions. [2022-02-20 23:45:05,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 173 transitions. [2022-02-20 23:45:05,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:05,723 INFO L225 Difference]: With dead ends: 175 [2022-02-20 23:45:05,723 INFO L226 Difference]: Without dead ends: 175 [2022-02-20 23:45:05,723 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:45:05,723 INFO L933 BasicCegarLoop]: 89 mSDtfsCounter, 121 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 300 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 128 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 304 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 300 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:05,723 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [128 Valid, 306 Invalid, 304 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 300 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:45:05,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-02-20 23:45:05,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 153. [2022-02-20 23:45:05,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:05,726 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 153 states, 95 states have (on average 1.631578947368421) internal successors, (155), 139 states have internal predecessors, (155), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:05,726 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 153 states, 95 states have (on average 1.631578947368421) internal successors, (155), 139 states have internal predecessors, (155), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:05,727 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 153 states, 95 states have (on average 1.631578947368421) internal successors, (155), 139 states have internal predecessors, (155), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:05,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:05,729 INFO L93 Difference]: Finished difference Result 175 states and 187 transitions. [2022-02-20 23:45:05,729 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 187 transitions. [2022-02-20 23:45:05,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:05,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:05,730 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 95 states have (on average 1.631578947368421) internal successors, (155), 139 states have internal predecessors, (155), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 175 states. [2022-02-20 23:45:05,730 INFO L87 Difference]: Start difference. First operand has 153 states, 95 states have (on average 1.631578947368421) internal successors, (155), 139 states have internal predecessors, (155), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 175 states. [2022-02-20 23:45:05,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:05,732 INFO L93 Difference]: Finished difference Result 175 states and 187 transitions. [2022-02-20 23:45:05,732 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 187 transitions. [2022-02-20 23:45:05,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:05,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:05,733 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:05,733 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:05,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 95 states have (on average 1.631578947368421) internal successors, (155), 139 states have internal predecessors, (155), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:05,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 171 transitions. [2022-02-20 23:45:05,736 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 171 transitions. Word has length 11 [2022-02-20 23:45:05,736 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:05,736 INFO L470 AbstractCegarLoop]: Abstraction has 153 states and 171 transitions. [2022-02-20 23:45:05,736 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:05,736 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 171 transitions. [2022-02-20 23:45:05,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:45:05,736 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:05,736 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:05,747 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:45:05,943 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:05,945 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting list_addErr5REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:05,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:05,945 INFO L85 PathProgramCache]: Analyzing trace with hash 109881213, now seen corresponding path program 1 times [2022-02-20 23:45:05,946 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:05,946 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1780954081] [2022-02-20 23:45:05,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:05,946 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:05,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:05,947 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:45:05,948 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 23:45:06,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:06,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:45:06,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:06,054 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:06,065 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:45:06,182 INFO L290 TraceCheckUtils]: 0: Hoare triple {5411#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {5411#true} is VALID [2022-02-20 23:45:06,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {5411#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {5411#true} is VALID [2022-02-20 23:45:06,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {5411#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {5422#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,184 INFO L290 TraceCheckUtils]: 3: Hoare triple {5422#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {5422#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,185 INFO L290 TraceCheckUtils]: 4: Hoare triple {5422#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {5422#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,186 INFO L272 TraceCheckUtils]: 5: Hoare triple {5422#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {5432#(and (= (bvadd (_ bv4294967292 32) |list_add_#in~new#1.offset|) (_ bv0 32)) (= (select |#length| |list_add_#in~new#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,187 INFO L290 TraceCheckUtils]: 6: Hoare triple {5432#(and (= (bvadd (_ bv4294967292 32) |list_add_#in~new#1.offset|) (_ bv0 32)) (= (select |#length| |list_add_#in~new#1.base|) (_ bv12 32)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {5436#(and (= |list_add_~new#1.offset| (_ bv4 32)) (= (select |#length| |list_add_~new#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {5436#(and (= |list_add_~new#1.offset| (_ bv4 32)) (= (select |#length| |list_add_~new#1.base|) (_ bv12 32)))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {5436#(and (= |list_add_~new#1.offset| (_ bv4 32)) (= (select |#length| |list_add_~new#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,188 INFO L290 TraceCheckUtils]: 8: Hoare triple {5436#(and (= |list_add_~new#1.offset| (_ bv4 32)) (= (select |#length| |list_add_~new#1.base|) (_ bv12 32)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {5443#(and (= (_ bv4 32) |list_add___list_add_~new#1.offset|) (= (select |#length| |list_add___list_add_~new#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {5443#(and (= (_ bv4 32) |list_add___list_add_~new#1.offset|) (= (select |#length| |list_add___list_add_~new#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {5443#(and (= (_ bv4 32) |list_add___list_add_~new#1.offset|) (= (select |#length| |list_add___list_add_~new#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:06,189 INFO L290 TraceCheckUtils]: 10: Hoare triple {5443#(and (= (_ bv4 32) |list_add___list_add_~new#1.offset|) (= (select |#length| |list_add___list_add_~new#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, __list_add_~new#1.offset), #length[__list_add_~new#1.base]) && ~bvule32(__list_add_~new#1.offset, ~bvadd32(4bv32, __list_add_~new#1.offset))) && ~bvule32(0bv32, __list_add_~new#1.offset)); {5412#false} is VALID [2022-02-20 23:45:06,189 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:45:06,190 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:06,190 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:06,190 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1780954081] [2022-02-20 23:45:06,190 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1780954081] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:06,190 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:06,190 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:45:06,190 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [276494445] [2022-02-20 23:45:06,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:06,190 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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 11 [2022-02-20 23:45:06,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:06,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:06,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:06,208 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:45:06,208 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:06,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:45:06,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:45:06,208 INFO L87 Difference]: Start difference. First operand 153 states and 171 transitions. Second operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:07,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:07,587 INFO L93 Difference]: Finished difference Result 175 states and 185 transitions. [2022-02-20 23:45:07,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:45:07,587 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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 11 [2022-02-20 23:45:07,587 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:07,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:07,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 171 transitions. [2022-02-20 23:45:07,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:07,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 171 transitions. [2022-02-20 23:45:07,590 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 171 transitions. [2022-02-20 23:45:07,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:07,751 INFO L225 Difference]: With dead ends: 175 [2022-02-20 23:45:07,752 INFO L226 Difference]: Without dead ends: 175 [2022-02-20 23:45:07,752 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:45:07,754 INFO L933 BasicCegarLoop]: 119 mSDtfsCounter, 57 mSDsluCounter, 314 mSDsCounter, 0 mSdLazyCounter, 240 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 433 SdHoareTripleChecker+Invalid, 241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 240 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:07,754 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 433 Invalid, 241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 240 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:45:07,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-02-20 23:45:07,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 153. [2022-02-20 23:45:07,759 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:07,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 153 states, 95 states have (on average 1.5894736842105264) internal successors, (151), 139 states have internal predecessors, (151), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:07,760 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 153 states, 95 states have (on average 1.5894736842105264) internal successors, (151), 139 states have internal predecessors, (151), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:07,760 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 153 states, 95 states have (on average 1.5894736842105264) internal successors, (151), 139 states have internal predecessors, (151), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:07,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:07,764 INFO L93 Difference]: Finished difference Result 175 states and 185 transitions. [2022-02-20 23:45:07,764 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 185 transitions. [2022-02-20 23:45:07,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:07,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:07,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 95 states have (on average 1.5894736842105264) internal successors, (151), 139 states have internal predecessors, (151), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 175 states. [2022-02-20 23:45:07,766 INFO L87 Difference]: Start difference. First operand has 153 states, 95 states have (on average 1.5894736842105264) internal successors, (151), 139 states have internal predecessors, (151), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 175 states. [2022-02-20 23:45:07,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:07,770 INFO L93 Difference]: Finished difference Result 175 states and 185 transitions. [2022-02-20 23:45:07,770 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 185 transitions. [2022-02-20 23:45:07,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:07,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:07,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:07,771 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:07,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 95 states have (on average 1.5894736842105264) internal successors, (151), 139 states have internal predecessors, (151), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:07,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 167 transitions. [2022-02-20 23:45:07,773 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 167 transitions. Word has length 11 [2022-02-20 23:45:07,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:07,773 INFO L470 AbstractCegarLoop]: Abstraction has 153 states and 167 transitions. [2022-02-20 23:45:07,773 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.0) internal successors, (10), 5 states have internal predecessors, (10), 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:45:07,773 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 167 transitions. [2022-02-20 23:45:07,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:45:07,774 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:07,774 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:07,780 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:45:07,980 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:07,981 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting list_addErr8REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:07,981 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:07,981 INFO L85 PathProgramCache]: Analyzing trace with hash -1778337633, now seen corresponding path program 1 times [2022-02-20 23:45:07,981 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:07,982 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1382571708] [2022-02-20 23:45:07,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:07,982 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:07,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:07,996 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:45:08,012 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:45:08,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:08,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:45:08,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:08,103 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:08,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {6131#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {6131#true} is VALID [2022-02-20 23:45:08,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {6131#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {6131#true} is VALID [2022-02-20 23:45:08,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {6131#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {6131#true} is VALID [2022-02-20 23:45:08,137 INFO L290 TraceCheckUtils]: 3: Hoare triple {6131#true} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {6131#true} is VALID [2022-02-20 23:45:08,137 INFO L290 TraceCheckUtils]: 4: Hoare triple {6131#true} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {6131#true} is VALID [2022-02-20 23:45:08,138 INFO L272 TraceCheckUtils]: 5: Hoare triple {6131#true} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {6131#true} is VALID [2022-02-20 23:45:08,138 INFO L290 TraceCheckUtils]: 6: Hoare triple {6131#true} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {6131#true} is VALID [2022-02-20 23:45:08,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {6131#true} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {6157#(= (select |#valid| |list_add_~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:08,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {6157#(= (select |#valid| |list_add_~head#1.base|) (_ bv1 1))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:08,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:08,139 INFO L290 TraceCheckUtils]: 10: Hoare triple {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:08,140 INFO L290 TraceCheckUtils]: 11: Hoare triple {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:08,140 INFO L290 TraceCheckUtils]: 12: Hoare triple {6161#(= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[__list_add_~prev#1.base]); {6132#false} is VALID [2022-02-20 23:45:08,140 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:45:08,140 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:08,140 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:08,140 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1382571708] [2022-02-20 23:45:08,141 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1382571708] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:08,141 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:08,142 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:45:08,142 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [417757127] [2022-02-20 23:45:08,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:08,142 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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 13 [2022-02-20 23:45:08,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:08,142 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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:45:08,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:08,156 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:45:08,157 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:08,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:45:08,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:45:08,157 INFO L87 Difference]: Start difference. First operand 153 states and 167 transitions. Second operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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:45:08,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:08,769 INFO L93 Difference]: Finished difference Result 152 states and 164 transitions. [2022-02-20 23:45:08,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:45:08,769 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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 13 [2022-02-20 23:45:08,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:08,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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:45:08,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 136 transitions. [2022-02-20 23:45:08,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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:45:08,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 136 transitions. [2022-02-20 23:45:08,772 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 136 transitions. [2022-02-20 23:45:08,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:08,893 INFO L225 Difference]: With dead ends: 152 [2022-02-20 23:45:08,893 INFO L226 Difference]: Without dead ends: 152 [2022-02-20 23:45:08,893 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:45:08,893 INFO L933 BasicCegarLoop]: 127 mSDtfsCounter, 22 mSDsluCounter, 144 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:08,894 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 271 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:45:08,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-02-20 23:45:08,896 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 152. [2022-02-20 23:45:08,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:08,896 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand has 152 states, 95 states have (on average 1.5578947368421052) internal successors, (148), 138 states have internal predecessors, (148), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:08,896 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand has 152 states, 95 states have (on average 1.5578947368421052) internal successors, (148), 138 states have internal predecessors, (148), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:08,896 INFO L87 Difference]: Start difference. First operand 152 states. Second operand has 152 states, 95 states have (on average 1.5578947368421052) internal successors, (148), 138 states have internal predecessors, (148), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:08,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:08,898 INFO L93 Difference]: Finished difference Result 152 states and 164 transitions. [2022-02-20 23:45:08,898 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 164 transitions. [2022-02-20 23:45:08,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:08,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:08,900 INFO L74 IsIncluded]: Start isIncluded. First operand has 152 states, 95 states have (on average 1.5578947368421052) internal successors, (148), 138 states have internal predecessors, (148), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-02-20 23:45:08,900 INFO L87 Difference]: Start difference. First operand has 152 states, 95 states have (on average 1.5578947368421052) internal successors, (148), 138 states have internal predecessors, (148), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-02-20 23:45:08,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:08,902 INFO L93 Difference]: Finished difference Result 152 states and 164 transitions. [2022-02-20 23:45:08,902 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 164 transitions. [2022-02-20 23:45:08,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:08,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:08,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:08,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:08,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 152 states, 95 states have (on average 1.5578947368421052) internal successors, (148), 138 states have internal predecessors, (148), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:08,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 164 transitions. [2022-02-20 23:45:08,904 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 164 transitions. Word has length 13 [2022-02-20 23:45:08,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:08,905 INFO L470 AbstractCegarLoop]: Abstraction has 152 states and 164 transitions. [2022-02-20 23:45:08,905 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 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:45:08,905 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 164 transitions. [2022-02-20 23:45:08,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:45:08,905 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:08,905 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:08,912 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:45:09,112 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:45:09,112 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting list_addErr9REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:09,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:09,113 INFO L85 PathProgramCache]: Analyzing trace with hash -1778337632, now seen corresponding path program 1 times [2022-02-20 23:45:09,113 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:09,113 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1686384894] [2022-02-20 23:45:09,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:09,113 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:09,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:09,114 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:45:09,116 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:45:09,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:09,185 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:45:09,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:09,192 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:09,280 INFO L290 TraceCheckUtils]: 0: Hoare triple {6783#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {6788#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:09,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {6788#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {6788#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:09,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {6788#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {6788#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:09,281 INFO L290 TraceCheckUtils]: 3: Hoare triple {6788#(= |~#gl_list~0.offset| (_ bv0 32))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {6788#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:09,281 INFO L290 TraceCheckUtils]: 4: Hoare triple {6788#(= |~#gl_list~0.offset| (_ bv0 32))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {6788#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:09,282 INFO L272 TraceCheckUtils]: 5: Hoare triple {6788#(= |~#gl_list~0.offset| (_ bv0 32))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {6804#(= (_ bv0 32) |list_add_#in~head#1.offset|)} is VALID [2022-02-20 23:45:09,283 INFO L290 TraceCheckUtils]: 6: Hoare triple {6804#(= (_ bv0 32) |list_add_#in~head#1.offset|)} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {6808#(= |list_add_~head#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:09,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {6808#(= |list_add_~head#1.offset| (_ bv0 32))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {6812#(and (bvule (bvadd |list_add_~head#1.offset| (_ bv4 32)) (select |#length| |list_add_~head#1.base|)) (= |list_add_~head#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:09,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {6812#(and (bvule (bvadd |list_add_~head#1.offset| (_ bv4 32)) (select |#length| |list_add_~head#1.base|)) (= |list_add_~head#1.offset| (_ bv0 32)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} is VALID [2022-02-20 23:45:09,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} is VALID [2022-02-20 23:45:09,285 INFO L290 TraceCheckUtils]: 10: Hoare triple {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} is VALID [2022-02-20 23:45:09,285 INFO L290 TraceCheckUtils]: 11: Hoare triple {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} is VALID [2022-02-20 23:45:09,286 INFO L290 TraceCheckUtils]: 12: Hoare triple {6816#(and (= |list_add___list_add_~prev#1.offset| (_ bv0 32)) (bvule (bvadd |list_add___list_add_~prev#1.offset| (_ bv4 32)) (select |#length| |list_add___list_add_~prev#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, __list_add_~prev#1.offset), #length[__list_add_~prev#1.base]) && ~bvule32(__list_add_~prev#1.offset, ~bvadd32(4bv32, __list_add_~prev#1.offset))) && ~bvule32(0bv32, __list_add_~prev#1.offset)); {6784#false} is VALID [2022-02-20 23:45:09,286 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:45:09,286 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:09,286 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:09,286 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1686384894] [2022-02-20 23:45:09,286 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1686384894] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:09,286 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:09,286 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:45:09,286 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [40926113] [2022-02-20 23:45:09,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:09,287 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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 13 [2022-02-20 23:45:09,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:09,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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:45:09,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:09,303 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:45:09,304 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:09,304 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:45:09,304 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:45:09,304 INFO L87 Difference]: Start difference. First operand 152 states and 164 transitions. Second operand has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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:45:10,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:10,211 INFO L93 Difference]: Finished difference Result 154 states and 162 transitions. [2022-02-20 23:45:10,211 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:45:10,211 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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 13 [2022-02-20 23:45:10,211 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:10,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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:45:10,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 147 transitions. [2022-02-20 23:45:10,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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:45:10,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 147 transitions. [2022-02-20 23:45:10,213 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 147 transitions. [2022-02-20 23:45:10,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:10,349 INFO L225 Difference]: With dead ends: 154 [2022-02-20 23:45:10,349 INFO L226 Difference]: Without dead ends: 154 [2022-02-20 23:45:10,350 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:45:10,350 INFO L933 BasicCegarLoop]: 117 mSDtfsCounter, 175 mSDsluCounter, 324 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 176 SdHoareTripleChecker+Valid, 441 SdHoareTripleChecker+Invalid, 99 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:10,350 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [176 Valid, 441 Invalid, 99 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:45:10,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2022-02-20 23:45:10,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 152. [2022-02-20 23:45:10,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:10,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand has 152 states, 95 states have (on average 1.5368421052631578) internal successors, (146), 138 states have internal predecessors, (146), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:10,353 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand has 152 states, 95 states have (on average 1.5368421052631578) internal successors, (146), 138 states have internal predecessors, (146), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:10,353 INFO L87 Difference]: Start difference. First operand 154 states. Second operand has 152 states, 95 states have (on average 1.5368421052631578) internal successors, (146), 138 states have internal predecessors, (146), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:10,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:10,355 INFO L93 Difference]: Finished difference Result 154 states and 162 transitions. [2022-02-20 23:45:10,355 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 162 transitions. [2022-02-20 23:45:10,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:10,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:10,355 INFO L74 IsIncluded]: Start isIncluded. First operand has 152 states, 95 states have (on average 1.5368421052631578) internal successors, (146), 138 states have internal predecessors, (146), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 154 states. [2022-02-20 23:45:10,356 INFO L87 Difference]: Start difference. First operand has 152 states, 95 states have (on average 1.5368421052631578) internal successors, (146), 138 states have internal predecessors, (146), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 154 states. [2022-02-20 23:45:10,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:10,358 INFO L93 Difference]: Finished difference Result 154 states and 162 transitions. [2022-02-20 23:45:10,358 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 162 transitions. [2022-02-20 23:45:10,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:10,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:10,358 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:10,358 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:10,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 152 states, 95 states have (on average 1.5368421052631578) internal successors, (146), 138 states have internal predecessors, (146), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:10,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 162 transitions. [2022-02-20 23:45:10,360 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 162 transitions. Word has length 13 [2022-02-20 23:45:10,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:10,360 INFO L470 AbstractCegarLoop]: Abstraction has 152 states and 162 transitions. [2022-02-20 23:45:10,361 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.0) internal successors, (12), 5 states have internal predecessors, (12), 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:45:10,361 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 162 transitions. [2022-02-20 23:45:10,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:45:10,361 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:10,361 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:10,370 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:45:10,567 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:10,568 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting list_emptyErr0REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:10,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:10,568 INFO L85 PathProgramCache]: Analyzing trace with hash 1358598366, now seen corresponding path program 1 times [2022-02-20 23:45:10,568 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:10,568 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [594428819] [2022-02-20 23:45:10,568 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:10,568 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:10,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:10,569 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:45:10,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2022-02-20 23:45:10,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:10,648 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:45:10,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:10,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:10,733 INFO L290 TraceCheckUtils]: 0: Hoare triple {7450#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {7450#true} is VALID [2022-02-20 23:45:10,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {7450#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {7450#true} is VALID [2022-02-20 23:45:10,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {7450#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {7450#true} is VALID [2022-02-20 23:45:10,734 INFO L290 TraceCheckUtils]: 3: Hoare triple {7450#true} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {7450#true} is VALID [2022-02-20 23:45:10,734 INFO L290 TraceCheckUtils]: 4: Hoare triple {7450#true} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {7450#true} is VALID [2022-02-20 23:45:10,734 INFO L272 TraceCheckUtils]: 5: Hoare triple {7450#true} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {7450#true} is VALID [2022-02-20 23:45:10,735 INFO L290 TraceCheckUtils]: 6: Hoare triple {7450#true} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {7473#(= |list_add_#in~head#1.base| |list_add_~head#1.base|)} is VALID [2022-02-20 23:45:10,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {7473#(= |list_add_#in~head#1.base| |list_add_~head#1.base|)} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} assume true; {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,739 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7477#(= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1))} {7450#true} #205#return; {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:10,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:10,739 INFO L290 TraceCheckUtils]: 17: Hoare triple {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:10,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:10,740 INFO L272 TraceCheckUtils]: 19: Hoare triple {7502#(= (_ bv1 1) (select |#valid| |~#gl_list~0.base|))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {7515#(= (select |#valid| |list_empty_#in~head.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:10,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {7515#(= (select |#valid| |list_empty_#in~head.base|) (_ bv1 1))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7519#(= (select |#valid| list_empty_~head.base) (_ bv1 1))} is VALID [2022-02-20 23:45:10,741 INFO L290 TraceCheckUtils]: 21: Hoare triple {7519#(= (select |#valid| list_empty_~head.base) (_ bv1 1))} assume !(1bv1 == #valid[~head.base]); {7451#false} is VALID [2022-02-20 23:45:10,741 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:45:10,741 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:10,742 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:10,742 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [594428819] [2022-02-20 23:45:10,742 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [594428819] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:10,742 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:10,742 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:45:10,742 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1974082720] [2022-02-20 23:45:10,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:10,743 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 22 [2022-02-20 23:45:10,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:10,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:10,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:10,788 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:45:10,788 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:10,789 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:45:10,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:45:10,789 INFO L87 Difference]: Start difference. First operand 152 states and 162 transitions. Second operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:12,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:12,096 INFO L93 Difference]: Finished difference Result 151 states and 161 transitions. [2022-02-20 23:45:12,096 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:45:12,096 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 22 [2022-02-20 23:45:12,096 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:12,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:12,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 139 transitions. [2022-02-20 23:45:12,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:12,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 139 transitions. [2022-02-20 23:45:12,099 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 139 transitions. [2022-02-20 23:45:12,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:12,234 INFO L225 Difference]: With dead ends: 151 [2022-02-20 23:45:12,234 INFO L226 Difference]: Without dead ends: 151 [2022-02-20 23:45:12,234 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:45:12,234 INFO L933 BasicCegarLoop]: 72 mSDtfsCounter, 156 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 309 SdHoareTripleChecker+Invalid, 327 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:12,234 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [159 Valid, 309 Invalid, 327 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 321 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:45:12,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-02-20 23:45:12,236 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 151. [2022-02-20 23:45:12,236 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:12,237 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 151 states, 95 states have (on average 1.5263157894736843) internal successors, (145), 137 states have internal predecessors, (145), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:12,237 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 151 states, 95 states have (on average 1.5263157894736843) internal successors, (145), 137 states have internal predecessors, (145), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:12,237 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 151 states, 95 states have (on average 1.5263157894736843) internal successors, (145), 137 states have internal predecessors, (145), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:12,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:12,239 INFO L93 Difference]: Finished difference Result 151 states and 161 transitions. [2022-02-20 23:45:12,239 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 161 transitions. [2022-02-20 23:45:12,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:12,241 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:12,241 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 95 states have (on average 1.5263157894736843) internal successors, (145), 137 states have internal predecessors, (145), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 151 states. [2022-02-20 23:45:12,242 INFO L87 Difference]: Start difference. First operand has 151 states, 95 states have (on average 1.5263157894736843) internal successors, (145), 137 states have internal predecessors, (145), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 151 states. [2022-02-20 23:45:12,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:12,244 INFO L93 Difference]: Finished difference Result 151 states and 161 transitions. [2022-02-20 23:45:12,244 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 161 transitions. [2022-02-20 23:45:12,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:12,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:12,245 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:12,245 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:12,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 95 states have (on average 1.5263157894736843) internal successors, (145), 137 states have internal predecessors, (145), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:12,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 161 transitions. [2022-02-20 23:45:12,247 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 161 transitions. Word has length 22 [2022-02-20 23:45:12,247 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:12,247 INFO L470 AbstractCegarLoop]: Abstraction has 151 states and 161 transitions. [2022-02-20 23:45:12,250 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:12,251 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 161 transitions. [2022-02-20 23:45:12,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:45:12,251 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:12,251 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:12,275 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Ended with exit code 0 [2022-02-20 23:45:12,458 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:12,458 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting list_emptyErr1REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:12,459 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:12,459 INFO L85 PathProgramCache]: Analyzing trace with hash 1358598367, now seen corresponding path program 1 times [2022-02-20 23:45:12,459 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:12,459 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [653939218] [2022-02-20 23:45:12,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:12,459 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:12,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:12,460 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:45:12,462 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:45:12,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:12,548 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:45:12,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:12,561 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:12,741 INFO L290 TraceCheckUtils]: 0: Hoare triple {8136#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {8141#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:12,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {8141#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {8141#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:12,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {8141#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {8141#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:12,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {8141#(= |~#gl_list~0.offset| (_ bv0 32))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {8141#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:12,742 INFO L290 TraceCheckUtils]: 4: Hoare triple {8141#(= |~#gl_list~0.offset| (_ bv0 32))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {8141#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:12,743 INFO L272 TraceCheckUtils]: 5: Hoare triple {8141#(= |~#gl_list~0.offset| (_ bv0 32))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {8141#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:12,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {8141#(= |~#gl_list~0.offset| (_ bv0 32))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {8160#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} is VALID [2022-02-20 23:45:12,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {8160#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,746 INFO L290 TraceCheckUtils]: 10: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} assume true; {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} is VALID [2022-02-20 23:45:12,748 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8164#(and (= |~#gl_list~0.offset| (_ bv0 32)) (bvule (bvadd (_ bv4 32) |list_add_#in~head#1.offset|) (select |#length| |list_add_#in~head#1.base|)))} {8141#(= |~#gl_list~0.offset| (_ bv0 32))} #205#return; {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:12,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:12,749 INFO L290 TraceCheckUtils]: 17: Hoare triple {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:12,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:12,750 INFO L272 TraceCheckUtils]: 19: Hoare triple {8189#(and (bvule (bvadd (_ bv4 32) |~#gl_list~0.offset|) (select |#length| |~#gl_list~0.base|)) (= |~#gl_list~0.offset| (_ bv0 32)))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {8202#(and (= |list_empty_#in~head.offset| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |list_empty_#in~head.base|)))} is VALID [2022-02-20 23:45:12,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {8202#(and (= |list_empty_#in~head.offset| (_ bv0 32)) (bvule (_ bv4 32) (select |#length| |list_empty_#in~head.base|)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {8206#(and (= list_empty_~head.offset (_ bv0 32)) (bvule (_ bv4 32) (select |#length| list_empty_~head.base)))} is VALID [2022-02-20 23:45:12,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {8206#(and (= list_empty_~head.offset (_ bv0 32)) (bvule (_ bv4 32) (select |#length| list_empty_~head.base)))} assume !((~bvule32(~bvadd32(4bv32, ~head.offset), #length[~head.base]) && ~bvule32(~head.offset, ~bvadd32(4bv32, ~head.offset))) && ~bvule32(0bv32, ~head.offset)); {8137#false} is VALID [2022-02-20 23:45:12,751 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:45:12,751 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:12,751 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:12,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [653939218] [2022-02-20 23:45:12,751 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [653939218] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:12,752 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:12,752 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:45:12,752 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [787368068] [2022-02-20 23:45:12,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:12,752 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 22 [2022-02-20 23:45:12,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:12,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:12,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:12,792 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:45:12,792 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:12,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:45:12,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:45:12,792 INFO L87 Difference]: Start difference. First operand 151 states and 161 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:14,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:14,541 INFO L93 Difference]: Finished difference Result 150 states and 160 transitions. [2022-02-20 23:45:14,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:45:14,541 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 22 [2022-02-20 23:45:14,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:14,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:14,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 136 transitions. [2022-02-20 23:45:14,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:14,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 136 transitions. [2022-02-20 23:45:14,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 136 transitions. [2022-02-20 23:45:14,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:14,728 INFO L225 Difference]: With dead ends: 150 [2022-02-20 23:45:14,728 INFO L226 Difference]: Without dead ends: 150 [2022-02-20 23:45:14,729 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=110, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:45:14,729 INFO L933 BasicCegarLoop]: 74 mSDtfsCounter, 253 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 307 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 256 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 307 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:14,729 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [256 Valid, 316 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 307 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 23:45:14,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2022-02-20 23:45:14,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 150. [2022-02-20 23:45:14,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:14,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 150 states. Second operand has 150 states, 95 states have (on average 1.5157894736842106) internal successors, (144), 136 states have internal predecessors, (144), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:14,732 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand has 150 states, 95 states have (on average 1.5157894736842106) internal successors, (144), 136 states have internal predecessors, (144), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:14,732 INFO L87 Difference]: Start difference. First operand 150 states. Second operand has 150 states, 95 states have (on average 1.5157894736842106) internal successors, (144), 136 states have internal predecessors, (144), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:14,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:14,733 INFO L93 Difference]: Finished difference Result 150 states and 160 transitions. [2022-02-20 23:45:14,733 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 160 transitions. [2022-02-20 23:45:14,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:14,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:14,739 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 95 states have (on average 1.5157894736842106) internal successors, (144), 136 states have internal predecessors, (144), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 150 states. [2022-02-20 23:45:14,740 INFO L87 Difference]: Start difference. First operand has 150 states, 95 states have (on average 1.5157894736842106) internal successors, (144), 136 states have internal predecessors, (144), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 150 states. [2022-02-20 23:45:14,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:14,742 INFO L93 Difference]: Finished difference Result 150 states and 160 transitions. [2022-02-20 23:45:14,742 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 160 transitions. [2022-02-20 23:45:14,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:14,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:14,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:14,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:14,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 95 states have (on average 1.5157894736842106) internal successors, (144), 136 states have internal predecessors, (144), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:14,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 160 transitions. [2022-02-20 23:45:14,745 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 160 transitions. Word has length 22 [2022-02-20 23:45:14,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:14,745 INFO L470 AbstractCegarLoop]: Abstraction has 150 states and 160 transitions. [2022-02-20 23:45:14,745 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:45:14,745 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 160 transitions. [2022-02-20 23:45:14,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:45:14,745 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:14,746 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:14,753 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:45:14,954 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:14,955 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting list_addErr2REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:14,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:14,955 INFO L85 PathProgramCache]: Analyzing trace with hash -868531821, now seen corresponding path program 1 times [2022-02-20 23:45:14,955 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:14,955 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1957751240] [2022-02-20 23:45:14,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:14,956 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:14,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:14,964 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:45:14,965 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2022-02-20 23:45:15,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:15,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 32 conjunts are in the unsatisfiable core [2022-02-20 23:45:15,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:15,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:15,140 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:45:15,302 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 11 treesize of output 7 [2022-02-20 23:45:15,403 INFO L356 Elim1Store]: treesize reduction 54, result has 37.9 percent of original size [2022-02-20 23:45:15,403 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 29 treesize of output 50 [2022-02-20 23:45:15,534 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 25 treesize of output 25 [2022-02-20 23:45:15,894 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 26 treesize of output 14 [2022-02-20 23:45:16,154 INFO L290 TraceCheckUtils]: 0: Hoare triple {8819#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {8819#true} is VALID [2022-02-20 23:45:16,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {8819#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {8819#true} is VALID [2022-02-20 23:45:16,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {8819#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:16,156 INFO L290 TraceCheckUtils]: 3: Hoare triple {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:16,156 INFO L290 TraceCheckUtils]: 4: Hoare triple {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:16,158 INFO L272 TraceCheckUtils]: 5: Hoare triple {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {8840#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))} is VALID [2022-02-20 23:45:16,158 INFO L290 TraceCheckUtils]: 6: Hoare triple {8840#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {8844#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3|) (_ bv1 1))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:16,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {8844#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_3|) (_ bv1 1))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {8848#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (bvadd (bvneg (select |#valid| |list_add_~head#1.base|)) (_ bv1 1)) (_ bv0 1)) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:16,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {8848#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (bvadd (bvneg (select |#valid| |list_add_~head#1.base|)) (_ bv1 1)) (_ bv0 1)) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,167 INFO L290 TraceCheckUtils]: 10: Hoare triple {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,168 INFO L290 TraceCheckUtils]: 11: Hoare triple {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,169 INFO L290 TraceCheckUtils]: 12: Hoare triple {8852#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~prev#1.base|)) (_ bv1 1)) (_ bv0 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {8865#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {8865#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {8865#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {8865#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)))} assume true; {8865#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:16,171 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8865#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)))} {8830#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} #205#return; {8875#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))))} is VALID [2022-02-20 23:45:16,171 INFO L290 TraceCheckUtils]: 16: Hoare triple {8875#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {8875#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))))} is VALID [2022-02-20 23:45:16,171 INFO L290 TraceCheckUtils]: 17: Hoare triple {8875#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))))} assume !!(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {8875#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))))} is VALID [2022-02-20 23:45:16,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {8875#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {8885#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_17) (select |#valid| |~#gl_list~0.base|))))))} is VALID [2022-02-20 23:45:16,174 INFO L290 TraceCheckUtils]: 19: Hoare triple {8885#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_17) (select |#valid| |~#gl_list~0.base|))))))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {8885#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_17) (select |#valid| |~#gl_list~0.base|))))))} is VALID [2022-02-20 23:45:16,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {8885#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_17) (select |#valid| |~#gl_list~0.base|))))))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {8892#(and (= (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))) (exists ((|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_17) (select |#valid| |~#gl_list~0.base|))))))} is VALID [2022-02-20 23:45:16,179 INFO L272 TraceCheckUtils]: 21: Hoare triple {8892#(and (= (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))) (exists ((|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_17) (select |#valid| |~#gl_list~0.base|))))))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {8896#(and (= (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|))) (_ bv1 1)) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (select |#valid| |list_add_#in~head#1.base|) (bvneg v_arrayElimCell_17))))) (exists ((|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_#in~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)))))} is VALID [2022-02-20 23:45:16,181 INFO L290 TraceCheckUtils]: 22: Hoare triple {8896#(and (= (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|))) (_ bv1 1)) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (_ bv0 1) (bvadd (select |#valid| |list_add_#in~head#1.base|) (bvneg v_arrayElimCell_17))))) (exists ((|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_#in~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)))))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {8900#(and (= (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |list_add_~head#1.base|) |list_add_~head#1.offset|))) (_ bv1 1)) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (bvadd (select |#valid| |list_add_~head#1.base|) (bvneg v_arrayElimCell_17)) (_ bv0 1)))) (exists ((|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |list_add_~head#1.base|) |list_add_~head#1.offset|))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)))))} is VALID [2022-02-20 23:45:16,184 INFO L290 TraceCheckUtils]: 23: Hoare triple {8900#(and (= (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |list_add_~head#1.base|) |list_add_~head#1.offset|))) (_ bv1 1)) (exists ((v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (bvadd (select |#valid| |list_add_~head#1.base|) (bvneg v_arrayElimCell_17)) (_ bv0 1)))) (exists ((|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |list_add_~head#1.base|) |list_add_~head#1.offset|))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)))))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {8904#(and (= (bvneg (select |#valid| |list_add_#t~mem4#1.base|)) (_ bv1 1)) (exists ((|list_add_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32)) (v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)) (= (bvadd (select |#valid| |list_add_~head#1.base|) (bvneg v_arrayElimCell_17)) (_ bv0 1)) (not (= |list_add_#t~mem4#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)))))} is VALID [2022-02-20 23:45:16,186 INFO L290 TraceCheckUtils]: 24: Hoare triple {8904#(and (= (bvneg (select |#valid| |list_add_#t~mem4#1.base|)) (_ bv1 1)) (exists ((|list_add_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32)) (v_arrayElimCell_17 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)) (= (bvadd (select |#valid| |list_add_~head#1.base|) (bvneg v_arrayElimCell_17)) (_ bv0 1)) (not (= |list_add_#t~mem4#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)))))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {8908#(and (exists ((|list_add_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32)) (v_arrayElimCell_17 (_ BitVec 1))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |list_add___list_add_~next#1.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)) (= (bvadd (select |#valid| |list_add_~head#1.base|) (bvneg v_arrayElimCell_17)) (_ bv0 1)))) (= (bvneg (select |#valid| |list_add___list_add_~next#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:45:16,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {8908#(and (exists ((|list_add_~head#1.base| (_ BitVec 32)) (|ULTIMATE.start_gl_insert_~node~0#1.base| (_ BitVec 32)) (v_arrayElimCell_17 (_ BitVec 1))) (and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |list_add___list_add_~next#1.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg v_arrayElimCell_17))) (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (not (= |list_add_~head#1.base| |ULTIMATE.start_gl_insert_~node~0#1.base|)) (= (bvadd (select |#valid| |list_add_~head#1.base|) (bvneg v_arrayElimCell_17)) (_ bv0 1)))) (= (bvneg (select |#valid| |list_add___list_add_~next#1.base|)) (_ bv1 1)))} assume !(1bv1 == #valid[__list_add_~next#1.base]); {8820#false} is VALID [2022-02-20 23:45:16,187 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:45:16,187 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:45:16,309 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_345 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select |c_#valid| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_345) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|)) (_ bv1 1))) is different from false [2022-02-20 23:45:16,329 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_345 (Array (_ BitVec 32) (_ BitVec 32))) (|v_ULTIMATE.start_gl_insert_~node~0#1.base_10| (_ BitVec 32))) (or (not (= (select |c_#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_10|) (_ bv0 1))) (= (select (store |c_#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_10| (_ bv1 1)) (select (select (store |c_#memory_$Pointer$.base| |v_ULTIMATE.start_gl_insert_~node~0#1.base_10| v_ArrVal_345) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|)) (_ bv1 1)))) is different from false [2022-02-20 23:45:16,522 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:45:16,522 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 24 [2022-02-20 23:45:16,525 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:45:16,528 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 21 treesize of output 13 [2022-02-20 23:45:16,587 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:16,587 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1957751240] [2022-02-20 23:45:16,587 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1957751240] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:45:16,587 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1236730675] [2022-02-20 23:45:16,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:16,588 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:45:16,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:45:16,589 INFO L229 MonitoredProcess]: Starting monitored process 16 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:45:16,609 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (16)] Waiting until timeout for monitored process [2022-02-20 23:45:16,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:16,861 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 34 conjunts are in the unsatisfiable core [2022-02-20 23:45:16,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:16,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:16,935 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:45:16,935 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 12 treesize of output 17 [2022-02-20 23:45:17,332 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 11 treesize of output 7 [2022-02-20 23:45:17,557 INFO L356 Elim1Store]: treesize reduction 81, result has 35.7 percent of original size [2022-02-20 23:45:17,557 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 8 case distinctions, treesize of input 39 treesize of output 70 [2022-02-20 23:45:17,725 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 28 treesize of output 28 [2022-02-20 23:45:17,912 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 20 treesize of output 12 [2022-02-20 23:45:17,993 INFO L290 TraceCheckUtils]: 0: Hoare triple {8819#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {8953#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:17,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {8953#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {8953#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:17,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {8953#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:17,995 INFO L290 TraceCheckUtils]: 3: Hoare triple {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:17,996 INFO L290 TraceCheckUtils]: 4: Hoare triple {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:17,997 INFO L272 TraceCheckUtils]: 5: Hoare triple {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {8953#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:17,998 INFO L290 TraceCheckUtils]: 6: Hoare triple {8953#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {8973#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:17,998 INFO L290 TraceCheckUtils]: 7: Hoare triple {8973#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {8977#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|) (= (select |#valid| |list_add_~head#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:17,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {8977#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|) (= (select |#valid| |list_add_~head#1.base|) (_ bv1 1)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:18,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:18,000 INFO L290 TraceCheckUtils]: 10: Hoare triple {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:18,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:18,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {8981#(and (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {8994#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:18,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {8994#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {8994#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:18,004 INFO L290 TraceCheckUtils]: 14: Hoare triple {8994#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume true; {8994#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:18,005 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8994#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (_ bv1 1) (select |#valid| (_ bv1 32))) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} {8960#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} #205#return; {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:18,005 INFO L290 TraceCheckUtils]: 16: Hoare triple {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:18,006 INFO L290 TraceCheckUtils]: 17: Hoare triple {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume !!(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:18,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {9014#(and (= (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))) (_ bv0 1)) (exists ((v_arrayElimCell_23 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (select |#valid| |~#gl_list~0.base|))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (_ bv1 1))))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv1 32))) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:18,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {9014#(and (= (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))) (_ bv0 1)) (exists ((v_arrayElimCell_23 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (select |#valid| |~#gl_list~0.base|))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (_ bv1 1))))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv1 32))) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {9014#(and (= (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))) (_ bv0 1)) (exists ((v_arrayElimCell_23 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (select |#valid| |~#gl_list~0.base|))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (_ bv1 1))))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv1 32))) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:18,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {9014#(and (= (bvadd (_ bv1 1) (bvneg (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))) (_ bv0 1)) (exists ((v_arrayElimCell_23 (_ BitVec 1))) (and (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (select |#valid| |~#gl_list~0.base|))) (= (_ bv0 1) (bvadd (bvneg v_arrayElimCell_23) (_ bv1 1))))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (_ bv1 32))) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:18,014 INFO L272 TraceCheckUtils]: 21: Hoare triple {9004#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| |~#gl_list~0.base|)))) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {9024#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) (_ bv0 32)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |list_add_#in~head#1.offset|))} is VALID [2022-02-20 23:45:18,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {9024#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) (_ bv0 32)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= (bvadd (bvneg (select |#valid| |list_add_#in~head#1.base|)) (_ bv1 1)) (_ bv0 1)) (= (_ bv0 32) |list_add_#in~head#1.offset|))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {9028#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (_ bv3 32)) (_ bv0 32)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)) (= (bvadd (bvneg (select |#valid| (_ bv3 32))) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:18,016 INFO L290 TraceCheckUtils]: 23: Hoare triple {9028#(and (= (_ bv0 1) (bvadd (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| (_ bv3 32)) (_ bv0 32)))) (_ bv1 1))) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)) (= (bvadd (bvneg (select |#valid| (_ bv3 32))) (_ bv1 1)) (_ bv0 1)))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {9032#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= (bvadd (bvneg (select |#valid| |list_add_#t~mem4#1.base|)) (_ bv1 1)) (_ bv0 1)) (= (bvadd (bvneg (select |#valid| (_ bv3 32))) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:18,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {9032#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= (bvadd (bvneg (select |#valid| |list_add_#t~mem4#1.base|)) (_ bv1 1)) (_ bv0 1)) (= (bvadd (bvneg (select |#valid| (_ bv3 32))) (_ bv1 1)) (_ bv0 1)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {9036#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~next#1.base|)) (_ bv1 1)) (_ bv0 1)) (= (bvadd (bvneg (select |#valid| (_ bv3 32))) (_ bv1 1)) (_ bv0 1)))} is VALID [2022-02-20 23:45:18,017 INFO L290 TraceCheckUtils]: 25: Hoare triple {9036#(and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (= (bvadd (bvneg (select |#valid| |list_add___list_add_~next#1.base|)) (_ bv1 1)) (_ bv0 1)) (= (bvadd (bvneg (select |#valid| (_ bv3 32))) (_ bv1 1)) (_ bv0 1)))} assume !(1bv1 == #valid[__list_add_~next#1.base]); {8820#false} is VALID [2022-02-20 23:45:18,017 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:45:18,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:45:18,048 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_410 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select |c_#valid| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_410) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|)) (_ bv1 1))) is different from false [2022-02-20 23:45:18,071 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_12| (_ BitVec 32)) (v_ArrVal_410 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_409 (_ BitVec 1))) (or (not (= (select |c_#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_12|) (_ bv0 1))) (= (select (store |c_#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_12| v_ArrVal_409) (select (select (store |c_#memory_$Pointer$.base| |v_ULTIMATE.start_gl_insert_~node~0#1.base_12| v_ArrVal_410) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|)) (_ bv1 1)))) is different from false [2022-02-20 23:45:18,272 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:45:18,272 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 24 [2022-02-20 23:45:18,274 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:45:18,277 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 21 treesize of output 13 [2022-02-20 23:45:20,339 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1236730675] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:45:20,339 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:45:20,339 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 26 [2022-02-20 23:45:20,339 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [700516528] [2022-02-20 23:45:20,339 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:45:20,340 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 23:45:20,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:20,340 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:20,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:20,422 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-02-20 23:45:20,422 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:20,422 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-02-20 23:45:20,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=145, Invalid=988, Unknown=5, NotChecked=268, Total=1406 [2022-02-20 23:45:20,423 INFO L87 Difference]: Start difference. First operand 150 states and 160 transitions. Second operand has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:25,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:25,398 INFO L93 Difference]: Finished difference Result 233 states and 247 transitions. [2022-02-20 23:45:25,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 23:45:25,398 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 23:45:25,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:25,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:25,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 234 transitions. [2022-02-20 23:45:25,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:25,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 234 transitions. [2022-02-20 23:45:25,402 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 234 transitions. [2022-02-20 23:45:25,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 234 edges. 234 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:25,684 INFO L225 Difference]: With dead ends: 233 [2022-02-20 23:45:25,684 INFO L226 Difference]: Without dead ends: 233 [2022-02-20 23:45:25,685 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 35 SyntacticMatches, 2 SemanticMatches, 46 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 474 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=294, Invalid=1609, Unknown=5, NotChecked=348, Total=2256 [2022-02-20 23:45:25,685 INFO L933 BasicCegarLoop]: 74 mSDtfsCounter, 412 mSDsluCounter, 903 mSDsCounter, 0 mSdLazyCounter, 757 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 413 SdHoareTripleChecker+Valid, 977 SdHoareTripleChecker+Invalid, 1446 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 757 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 654 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:25,685 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [413 Valid, 977 Invalid, 1446 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 757 Invalid, 0 Unknown, 654 Unchecked, 1.3s Time] [2022-02-20 23:45:25,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-02-20 23:45:25,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 157. [2022-02-20 23:45:25,688 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:25,689 INFO L82 GeneralOperation]: Start isEquivalent. First operand 233 states. Second operand has 157 states, 100 states have (on average 1.48) internal successors, (148), 142 states have internal predecessors, (148), 9 states have call successors, (9), 7 states have call predecessors, (9), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:45:25,689 INFO L74 IsIncluded]: Start isIncluded. First operand 233 states. Second operand has 157 states, 100 states have (on average 1.48) internal successors, (148), 142 states have internal predecessors, (148), 9 states have call successors, (9), 7 states have call predecessors, (9), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:45:25,689 INFO L87 Difference]: Start difference. First operand 233 states. Second operand has 157 states, 100 states have (on average 1.48) internal successors, (148), 142 states have internal predecessors, (148), 9 states have call successors, (9), 7 states have call predecessors, (9), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:45:25,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:25,692 INFO L93 Difference]: Finished difference Result 233 states and 247 transitions. [2022-02-20 23:45:25,693 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 247 transitions. [2022-02-20 23:45:25,693 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:25,693 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:25,693 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 100 states have (on average 1.48) internal successors, (148), 142 states have internal predecessors, (148), 9 states have call successors, (9), 7 states have call predecessors, (9), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 233 states. [2022-02-20 23:45:25,694 INFO L87 Difference]: Start difference. First operand has 157 states, 100 states have (on average 1.48) internal successors, (148), 142 states have internal predecessors, (148), 9 states have call successors, (9), 7 states have call predecessors, (9), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 233 states. [2022-02-20 23:45:25,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:25,697 INFO L93 Difference]: Finished difference Result 233 states and 247 transitions. [2022-02-20 23:45:25,697 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 247 transitions. [2022-02-20 23:45:25,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:25,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:25,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:25,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:25,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 100 states have (on average 1.48) internal successors, (148), 142 states have internal predecessors, (148), 9 states have call successors, (9), 7 states have call predecessors, (9), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 23:45:25,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 166 transitions. [2022-02-20 23:45:25,700 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 166 transitions. Word has length 26 [2022-02-20 23:45:25,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:25,700 INFO L470 AbstractCegarLoop]: Abstraction has 157 states and 166 transitions. [2022-02-20 23:45:25,700 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.84) internal successors, (46), 24 states have internal predecessors, (46), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:25,700 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 166 transitions. [2022-02-20 23:45:25,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:45:25,701 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:25,701 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:25,707 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (16)] Forceful destruction successful, exit code 0 [2022-02-20 23:45:25,915 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:45:26,111 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:26,112 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting list_addErr3REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:26,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:26,112 INFO L85 PathProgramCache]: Analyzing trace with hash -868531820, now seen corresponding path program 1 times [2022-02-20 23:45:26,112 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:26,113 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1875952802] [2022-02-20 23:45:26,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:26,113 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:26,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:26,114 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:45:26,115 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:45:26,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:26,336 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 47 conjunts are in the unsatisfiable core [2022-02-20 23:45:26,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:26,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:26,380 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:45:26,384 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:45:26,692 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 11 treesize of output 7 [2022-02-20 23:45:26,699 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 11 treesize of output 7 [2022-02-20 23:45:26,894 INFO L356 Elim1Store]: treesize reduction 19, result has 47.2 percent of original size [2022-02-20 23:45:26,894 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 16 treesize of output 26 [2022-02-20 23:45:26,917 INFO L356 Elim1Store]: treesize reduction 20, result has 39.4 percent of original size [2022-02-20 23:45:26,917 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 25 treesize of output 27 [2022-02-20 23:45:27,009 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 24 treesize of output 24 [2022-02-20 23:45:27,031 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 16 [2022-02-20 23:45:27,127 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:45:27,130 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:45:27,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {9952#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {9952#true} is VALID [2022-02-20 23:45:27,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {9952#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {9952#true} is VALID [2022-02-20 23:45:27,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {9952#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,182 INFO L272 TraceCheckUtils]: 5: Hoare triple {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {9973#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32))))} is VALID [2022-02-20 23:45:27,183 INFO L290 TraceCheckUtils]: 6: Hoare triple {9973#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32))))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {9977#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:27,187 INFO L290 TraceCheckUtils]: 7: Hoare triple {9977#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {9981#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.base| |list_add_~new#1.base|) (= (select |#valid| |list_add_~head#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:27,188 INFO L290 TraceCheckUtils]: 8: Hoare triple {9981#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.base| |list_add_~new#1.base|) (= (select |#valid| |list_add_~head#1.base|) (_ bv1 1)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:27,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:27,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:27,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:27,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {9985#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {9998#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:27,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {9998#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {9998#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:27,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {9998#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {9998#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:27,195 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9998#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7| (_ BitVec 32))) (and (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_7|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {9963#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} #205#return; {10008#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:27,195 INFO L290 TraceCheckUtils]: 16: Hoare triple {10008#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {10008#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:27,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {10008#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume !!(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {10008#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:27,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {10008#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {10018#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {10018#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {10018#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {10018#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {10025#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,202 INFO L272 TraceCheckUtils]: 21: Hoare triple {10025#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {10029#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,202 INFO L290 TraceCheckUtils]: 22: Hoare triple {10029#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (_ bv12 32)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {10033#(and (= (select (select |#memory_$Pointer$.offset| |list_add_~head#1.base|) |list_add_~head#1.offset|) (_ bv4 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |list_add_~head#1.base|) |list_add_~head#1.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:27,203 INFO L290 TraceCheckUtils]: 23: Hoare triple {10033#(and (= (select (select |#memory_$Pointer$.offset| |list_add_~head#1.base|) |list_add_~head#1.offset|) (_ bv4 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |list_add_~head#1.base|) |list_add_~head#1.offset|)) (_ bv12 32)))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {10037#(and (= (_ bv12 32) (select |#length| |list_add_#t~mem4#1.base|)) (= (_ bv4 32) |list_add_#t~mem4#1.offset|))} is VALID [2022-02-20 23:45:27,204 INFO L290 TraceCheckUtils]: 24: Hoare triple {10037#(and (= (_ bv12 32) (select |#length| |list_add_#t~mem4#1.base|)) (= (_ bv4 32) |list_add_#t~mem4#1.offset|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {10041#(and (= (select |#length| |list_add___list_add_~next#1.base|) (_ bv12 32)) (= |list_add___list_add_~next#1.offset| (_ bv4 32)))} is VALID [2022-02-20 23:45:27,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {10041#(and (= (select |#length| |list_add___list_add_~next#1.base|) (_ bv12 32)) (= |list_add___list_add_~next#1.offset| (_ bv4 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, __list_add_~next#1.offset)), #length[__list_add_~next#1.base]) && ~bvule32(~bvadd32(4bv32, __list_add_~next#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, __list_add_~next#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, __list_add_~next#1.offset))); {9953#false} is VALID [2022-02-20 23:45:27,204 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:45:27,204 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:45:27,560 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_479 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse0 (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_479) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|))) (bvule (bvadd (_ bv4 32) .cse0) (bvadd (_ bv8 32) .cse0)))) (forall ((v_ArrVal_478 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_479 (Array (_ BitVec 32) (_ BitVec 32)))) (bvule (bvadd (_ bv8 32) (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_479) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|)) (select |c_#length| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_478) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|))))) is different from false [2022-02-20 23:45:28,358 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:45:28,358 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 84 treesize of output 85 [2022-02-20 23:45:28,362 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:45:28,365 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 74 [2022-02-20 23:45:28,374 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:45:28,374 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 74 treesize of output 54 [2022-02-20 23:45:28,376 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:45:28,379 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 45 treesize of output 29 [2022-02-20 23:45:28,483 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:28,483 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1875952802] [2022-02-20 23:45:28,483 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1875952802] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:45:28,483 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [908906983] [2022-02-20 23:45:28,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:28,483 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:45:28,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:45:28,484 INFO L229 MonitoredProcess]: Starting monitored process 18 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:45:28,485 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (18)] Waiting until timeout for monitored process [2022-02-20 23:45:28,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:28,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 51 conjunts are in the unsatisfiable core [2022-02-20 23:45:28,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:28,862 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:28,911 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:45:28,914 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:45:29,565 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 11 treesize of output 7 [2022-02-20 23:45:29,576 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 11 treesize of output 7 [2022-02-20 23:45:29,874 INFO L356 Elim1Store]: treesize reduction 19, result has 47.2 percent of original size [2022-02-20 23:45:29,874 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 16 treesize of output 26 [2022-02-20 23:45:29,893 INFO L356 Elim1Store]: treesize reduction 20, result has 39.4 percent of original size [2022-02-20 23:45:29,893 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 25 treesize of output 27 [2022-02-20 23:45:30,007 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 14 treesize of output 16 [2022-02-20 23:45:30,048 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 24 treesize of output 24 [2022-02-20 23:45:30,203 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:45:30,206 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:45:30,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {9952#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {10086#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {10086#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {10086#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {10086#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,216 INFO L290 TraceCheckUtils]: 4: Hoare triple {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,218 INFO L272 TraceCheckUtils]: 5: Hoare triple {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {10103#(and (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,219 INFO L290 TraceCheckUtils]: 6: Hoare triple {10103#(and (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {10107#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:30,219 INFO L290 TraceCheckUtils]: 7: Hoare triple {10107#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {10111#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|) (= (select |#valid| |list_add_~head#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:30,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {10111#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|) (= (select |#valid| |list_add_~head#1.base|) (_ bv1 1)))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:30,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:30,221 INFO L290 TraceCheckUtils]: 10: Hoare triple {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:30,222 INFO L290 TraceCheckUtils]: 11: Hoare triple {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:45:30,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {10115#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|) (= (select |#valid| |list_add___list_add_~prev#1.base|) (_ bv1 1)))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {10128#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:30,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {10128#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {10128#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:30,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {10128#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {10128#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:30,225 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10128#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= (select |#valid| |list_add_#in~head#1.base|) (_ bv1 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9| (_ BitVec 32))) (and (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv12 32)) (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_9|) (_ bv1 1)))) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {10093#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} #205#return; {10138#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:30,226 INFO L290 TraceCheckUtils]: 16: Hoare triple {10138#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {10138#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:30,226 INFO L290 TraceCheckUtils]: 17: Hoare triple {10138#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume !!(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {10138#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:30,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {10138#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (bvadd (_ bv1 1) (select |#valid| |~#gl_list~0.base|)) (_ bv0 1)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {10148#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {10148#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {10148#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {10148#(and (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| |~#gl_list~0.base|)) (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (not (= |ULTIMATE.start_gl_insert_~node~0#1.base| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {10155#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:45:30,242 INFO L272 TraceCheckUtils]: 21: Hoare triple {10155#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {10159#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) (_ bv0 32))) (_ bv12 32)) (= (_ bv0 32) |list_add_#in~head#1.offset|) (= (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) (_ bv0 32)) (_ bv4 32)))} is VALID [2022-02-20 23:45:30,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {10159#(and (= |list_add_#in~head#1.base| (_ bv3 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) (_ bv0 32))) (_ bv12 32)) (= (_ bv0 32) |list_add_#in~head#1.offset|) (= (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) (_ bv0 32)) (_ bv4 32)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {10163#(and (= (select (select |#memory_$Pointer$.offset| (_ bv3 32)) (_ bv0 32)) (_ bv4 32)) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| (_ bv3 32)) (_ bv0 32))) (_ bv12 32)))} is VALID [2022-02-20 23:45:30,244 INFO L290 TraceCheckUtils]: 23: Hoare triple {10163#(and (= (select (select |#memory_$Pointer$.offset| (_ bv3 32)) (_ bv0 32)) (_ bv4 32)) (= |list_add_~head#1.base| (_ bv3 32)) (= |list_add_~head#1.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| (_ bv3 32)) (_ bv0 32))) (_ bv12 32)))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {10037#(and (= (_ bv12 32) (select |#length| |list_add_#t~mem4#1.base|)) (= (_ bv4 32) |list_add_#t~mem4#1.offset|))} is VALID [2022-02-20 23:45:30,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {10037#(and (= (_ bv12 32) (select |#length| |list_add_#t~mem4#1.base|)) (= (_ bv4 32) |list_add_#t~mem4#1.offset|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {10041#(and (= (select |#length| |list_add___list_add_~next#1.base|) (_ bv12 32)) (= |list_add___list_add_~next#1.offset| (_ bv4 32)))} is VALID [2022-02-20 23:45:30,246 INFO L290 TraceCheckUtils]: 25: Hoare triple {10041#(and (= (select |#length| |list_add___list_add_~next#1.base|) (_ bv12 32)) (= |list_add___list_add_~next#1.offset| (_ bv4 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, __list_add_~next#1.offset)), #length[__list_add_~next#1.base]) && ~bvule32(~bvadd32(4bv32, __list_add_~next#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, __list_add_~next#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, __list_add_~next#1.offset))); {9953#false} is VALID [2022-02-20 23:45:30,254 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:45:30,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:45:30,327 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_551 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse0 (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_551) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|))) (bvule (bvadd (_ bv4 32) .cse0) (bvadd (_ bv8 32) .cse0)))) (forall ((v_ArrVal_552 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_551 (Array (_ BitVec 32) (_ BitVec 32)))) (bvule (bvadd (_ bv8 32) (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_551) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|)) (select |c_#length| (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_gl_insert_~node~0#1.base| v_ArrVal_552) |c_~#gl_list~0.base|) |c_~#gl_list~0.offset|))))) is different from false [2022-02-20 23:45:37,456 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:45:37,457 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 84 treesize of output 85 [2022-02-20 23:45:37,470 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:45:37,473 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 74 [2022-02-20 23:45:37,480 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:45:37,480 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 74 treesize of output 54 [2022-02-20 23:45:37,482 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:45:37,486 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 45 treesize of output 29 [2022-02-20 23:45:37,619 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [908906983] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:45:37,620 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:45:37,620 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2022-02-20 23:45:37,620 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1663101333] [2022-02-20 23:45:37,620 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:45:37,620 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 23:45:37,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:37,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:37,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:37,681 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-02-20 23:45:37,681 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:37,682 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-02-20 23:45:37,683 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=1109, Unknown=18, NotChecked=138, Total=1406 [2022-02-20 23:45:37,683 INFO L87 Difference]: Start difference. First operand 157 states and 166 transitions. Second operand has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:41,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:41,227 INFO L93 Difference]: Finished difference Result 210 states and 224 transitions. [2022-02-20 23:45:41,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:45:41,227 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 23:45:41,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:41,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:41,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 220 transitions. [2022-02-20 23:45:41,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:41,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 220 transitions. [2022-02-20 23:45:41,239 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 220 transitions. [2022-02-20 23:45:41,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:41,595 INFO L225 Difference]: With dead ends: 210 [2022-02-20 23:45:41,595 INFO L226 Difference]: Without dead ends: 210 [2022-02-20 23:45:41,595 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 430 ImplicationChecksByTransitivity, 8.5s TimeCoverageRelationStatistics Valid=217, Invalid=1413, Unknown=18, NotChecked=158, Total=1806 [2022-02-20 23:45:41,595 INFO L933 BasicCegarLoop]: 89 mSDtfsCounter, 369 mSDsluCounter, 690 mSDsCounter, 0 mSdLazyCounter, 597 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 370 SdHoareTripleChecker+Valid, 779 SdHoareTripleChecker+Invalid, 1198 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 597 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 570 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:41,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [370 Valid, 779 Invalid, 1198 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 597 Invalid, 0 Unknown, 570 Unchecked, 1.1s Time] [2022-02-20 23:45:41,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-02-20 23:45:41,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 143. [2022-02-20 23:45:41,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:41,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 143 states, 88 states have (on average 1.5340909090909092) internal successors, (135), 129 states have internal predecessors, (135), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:41,598 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 143 states, 88 states have (on average 1.5340909090909092) internal successors, (135), 129 states have internal predecessors, (135), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:41,598 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 143 states, 88 states have (on average 1.5340909090909092) internal successors, (135), 129 states have internal predecessors, (135), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:41,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:41,601 INFO L93 Difference]: Finished difference Result 210 states and 224 transitions. [2022-02-20 23:45:41,601 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 224 transitions. [2022-02-20 23:45:41,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:41,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:41,602 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 88 states have (on average 1.5340909090909092) internal successors, (135), 129 states have internal predecessors, (135), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 210 states. [2022-02-20 23:45:41,603 INFO L87 Difference]: Start difference. First operand has 143 states, 88 states have (on average 1.5340909090909092) internal successors, (135), 129 states have internal predecessors, (135), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 210 states. [2022-02-20 23:45:41,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:41,606 INFO L93 Difference]: Finished difference Result 210 states and 224 transitions. [2022-02-20 23:45:41,606 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 224 transitions. [2022-02-20 23:45:41,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:41,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:41,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:41,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:41,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 88 states have (on average 1.5340909090909092) internal successors, (135), 129 states have internal predecessors, (135), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:41,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 151 transitions. [2022-02-20 23:45:41,609 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 151 transitions. Word has length 26 [2022-02-20 23:45:41,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:41,609 INFO L470 AbstractCegarLoop]: Abstraction has 143 states and 151 transitions. [2022-02-20 23:45:41,609 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 24 states have (on average 1.8333333333333333) internal successors, (44), 23 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:41,610 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 151 transitions. [2022-02-20 23:45:41,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:45:41,611 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:41,611 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:41,636 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:45:41,823 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (18)] Ended with exit code 0 [2022-02-20 23:45:42,024 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt [2022-02-20 23:45:42,025 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr30REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:42,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:42,025 INFO L85 PathProgramCache]: Analyzing trace with hash -414351977, now seen corresponding path program 1 times [2022-02-20 23:45:42,026 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:42,026 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [754962457] [2022-02-20 23:45:42,026 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:42,026 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:42,026 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:42,027 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:45:42,028 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2022-02-20 23:45:42,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:42,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 23:45:42,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:42,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:42,342 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 11 treesize of output 7 [2022-02-20 23:45:42,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {10993#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {10998#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:42,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {10998#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {10998#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:42,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {10998#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,627 INFO L290 TraceCheckUtils]: 3: Hoare triple {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,628 INFO L290 TraceCheckUtils]: 4: Hoare triple {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,629 INFO L272 TraceCheckUtils]: 5: Hoare triple {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {10998#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:42,629 INFO L290 TraceCheckUtils]: 6: Hoare triple {10998#(= |~#gl_list~0.offset| (_ bv0 32))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {11018#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} is VALID [2022-02-20 23:45:42,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {11018#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {11018#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} is VALID [2022-02-20 23:45:42,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {11018#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:42,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:42,633 INFO L290 TraceCheckUtils]: 10: Hoare triple {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:42,634 INFO L290 TraceCheckUtils]: 11: Hoare triple {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:42,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {11025#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {11038#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:42,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {11038#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {11038#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:42,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {11038#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {11038#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:42,637 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11038#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {11005#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} #205#return; {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,637 INFO L290 TraceCheckUtils]: 16: Hoare triple {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,637 INFO L290 TraceCheckUtils]: 17: Hoare triple {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,638 INFO L290 TraceCheckUtils]: 18: Hoare triple {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,638 INFO L272 TraceCheckUtils]: 19: Hoare triple {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:42,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11064#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} is VALID [2022-02-20 23:45:42,639 INFO L290 TraceCheckUtils]: 21: Hoare triple {11064#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {11068#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#t~mem3.offset| (select (select |#memory_$Pointer$.offset| list_empty_~head.base) list_empty_~head.offset)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} is VALID [2022-02-20 23:45:42,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {11068#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#t~mem3.offset| (select (select |#memory_$Pointer$.offset| list_empty_~head.base) list_empty_~head.offset)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {11072#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} is VALID [2022-02-20 23:45:42,641 INFO L290 TraceCheckUtils]: 23: Hoare triple {11072#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} assume true; {11072#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} is VALID [2022-02-20 23:45:42,641 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11072#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} {11048#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} #207#return; {11079#(= |ULTIMATE.start_gl_sort_#t~ret21#1| (_ bv0 32))} is VALID [2022-02-20 23:45:42,642 INFO L290 TraceCheckUtils]: 25: Hoare triple {11079#(= |ULTIMATE.start_gl_sort_#t~ret21#1| (_ bv0 32))} assume 0bv32 != gl_sort_#t~ret21#1;havoc gl_sort_#t~ret21#1; {10994#false} is VALID [2022-02-20 23:45:42,642 INFO L290 TraceCheckUtils]: 26: Hoare triple {10994#false} assume { :end_inline_gl_sort } true;assume { :begin_inline_gl_destroy } true;havoc gl_destroy_#t~mem13#1.base, gl_destroy_#t~mem13#1.offset, gl_destroy_#t~mem12#1.base, gl_destroy_#t~mem12#1.offset, gl_destroy_~next~0#1.base, gl_destroy_~next~0#1.offset;havoc gl_destroy_~next~0#1.base, gl_destroy_~next~0#1.offset; {10994#false} is VALID [2022-02-20 23:45:42,642 INFO L290 TraceCheckUtils]: 27: Hoare triple {10994#false} SUMMARY for call gl_destroy_#t~mem12#1.base, gl_destroy_#t~mem12#1.offset := read~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, 4bv32); srcloc: L583-4 {10994#false} is VALID [2022-02-20 23:45:42,642 INFO L290 TraceCheckUtils]: 28: Hoare triple {10994#false} gl_destroy_~next~0#1.base, gl_destroy_~next~0#1.offset := gl_destroy_#t~mem12#1.base, gl_destroy_#t~mem12#1.offset; {10994#false} is VALID [2022-02-20 23:45:42,642 INFO L290 TraceCheckUtils]: 29: Hoare triple {10994#false} assume !!(~#gl_list~0.base != gl_destroy_~next~0#1.base || ~#gl_list~0.offset != gl_destroy_~next~0#1.offset);havoc gl_destroy_#t~mem12#1.base, gl_destroy_#t~mem12#1.offset; {10994#false} is VALID [2022-02-20 23:45:42,642 INFO L290 TraceCheckUtils]: 30: Hoare triple {10994#false} assume !(1bv1 == #valid[gl_destroy_~next~0#1.base]); {10994#false} is VALID [2022-02-20 23:45:42,642 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:45:42,642 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:42,642 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:42,642 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [754962457] [2022-02-20 23:45:42,642 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [754962457] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:42,643 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:42,643 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:45:42,643 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2086808093] [2022-02-20 23:45:42,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:42,643 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-02-20 23:45:42,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:42,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:42,685 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:45:42,685 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:45:42,685 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:42,685 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:45:42,685 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:45:42,686 INFO L87 Difference]: Start difference. First operand 143 states and 151 transitions. Second operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:45,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:45,270 INFO L93 Difference]: Finished difference Result 188 states and 201 transitions. [2022-02-20 23:45:45,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:45:45,270 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-02-20 23:45:45,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:45,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:45,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 193 transitions. [2022-02-20 23:45:45,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:45,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 193 transitions. [2022-02-20 23:45:45,273 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 193 transitions. [2022-02-20 23:45:45,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:45,471 INFO L225 Difference]: With dead ends: 188 [2022-02-20 23:45:45,471 INFO L226 Difference]: Without dead ends: 188 [2022-02-20 23:45:45,471 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:45:45,471 INFO L933 BasicCegarLoop]: 95 mSDtfsCounter, 211 mSDsluCounter, 598 mSDsCounter, 0 mSdLazyCounter, 399 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 217 SdHoareTripleChecker+Valid, 693 SdHoareTripleChecker+Invalid, 422 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 399 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:45,471 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [217 Valid, 693 Invalid, 422 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 399 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 23:45:45,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-02-20 23:45:45,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 141. [2022-02-20 23:45:45,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:45,474 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 141 states, 86 states have (on average 1.5348837209302326) internal successors, (132), 127 states have internal predecessors, (132), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:45,474 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 141 states, 86 states have (on average 1.5348837209302326) internal successors, (132), 127 states have internal predecessors, (132), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:45,474 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 141 states, 86 states have (on average 1.5348837209302326) internal successors, (132), 127 states have internal predecessors, (132), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:45,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:45,476 INFO L93 Difference]: Finished difference Result 188 states and 201 transitions. [2022-02-20 23:45:45,476 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 201 transitions. [2022-02-20 23:45:45,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:45,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:45,476 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 86 states have (on average 1.5348837209302326) internal successors, (132), 127 states have internal predecessors, (132), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 188 states. [2022-02-20 23:45:45,477 INFO L87 Difference]: Start difference. First operand has 141 states, 86 states have (on average 1.5348837209302326) internal successors, (132), 127 states have internal predecessors, (132), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 188 states. [2022-02-20 23:45:45,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:45,479 INFO L93 Difference]: Finished difference Result 188 states and 201 transitions. [2022-02-20 23:45:45,479 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 201 transitions. [2022-02-20 23:45:45,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:45,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:45,479 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:45,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:45,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 86 states have (on average 1.5348837209302326) internal successors, (132), 127 states have internal predecessors, (132), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:45,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 148 transitions. [2022-02-20 23:45:45,480 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 148 transitions. Word has length 31 [2022-02-20 23:45:45,480 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:45,481 INFO L470 AbstractCegarLoop]: Abstraction has 141 states and 148 transitions. [2022-02-20 23:45:45,481 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 10 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:45:45,481 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 148 transitions. [2022-02-20 23:45:45,481 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:45:45,481 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:45,481 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:45,500 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Ended with exit code 0 [2022-02-20 23:45:45,681 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:45,682 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr12REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:45,682 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:45,682 INFO L85 PathProgramCache]: Analyzing trace with hash 1582571725, now seen corresponding path program 1 times [2022-02-20 23:45:45,682 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:45,682 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [918133671] [2022-02-20 23:45:45,682 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:45,682 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:45,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:45,684 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:45:45,686 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:45:45,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:45,818 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 29 conjunts are in the unsatisfiable core [2022-02-20 23:45:45,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:45,832 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:45,977 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 11 treesize of output 7 [2022-02-20 23:45:46,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {11812#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {11817#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:46,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {11817#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {11817#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:46,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {11817#(= |~#gl_list~0.offset| (_ bv0 32))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,310 INFO L290 TraceCheckUtils]: 3: Hoare triple {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,311 INFO L290 TraceCheckUtils]: 4: Hoare triple {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,312 INFO L272 TraceCheckUtils]: 5: Hoare triple {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {11817#(= |~#gl_list~0.offset| (_ bv0 32))} is VALID [2022-02-20 23:45:46,312 INFO L290 TraceCheckUtils]: 6: Hoare triple {11817#(= |~#gl_list~0.offset| (_ bv0 32))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {11837#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} is VALID [2022-02-20 23:45:46,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {11837#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {11837#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} is VALID [2022-02-20 23:45:46,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {11837#(and (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:46,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:46,314 INFO L290 TraceCheckUtils]: 10: Hoare triple {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:46,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} is VALID [2022-02-20 23:45:46,317 INFO L290 TraceCheckUtils]: 12: Hoare triple {11844#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {11857#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:46,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {11857#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {11857#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:46,317 INFO L290 TraceCheckUtils]: 14: Hoare triple {11857#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {11857#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:46,318 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11857#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {11824#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= |~#gl_list~0.offset| (_ bv0 32)))} #205#return; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,319 INFO L290 TraceCheckUtils]: 16: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,320 INFO L272 TraceCheckUtils]: 19: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,320 INFO L290 TraceCheckUtils]: 20: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,322 INFO L290 TraceCheckUtils]: 23: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume true; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,322 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} #207#return; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume !(0bv32 != gl_sort_#t~ret21#1);havoc gl_sort_#t~ret21#1;call gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~init~$Pointer$(gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, 4bv32);call write~init~$Pointer$(gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~#dst~0#1.base, ~bvadd32(4bv32, gl_sort_~#dst~0#1.offset), 4bv32);havoc gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} assume { :begin_inline_gl_seek_max } true;havoc gl_seek_max_#res#1.base, gl_seek_max_#res#1.offset;havoc gl_seek_max_#t~ret15#1, gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset, gl_seek_max_#t~ret17#1, gl_seek_max_#t~mem18#1.base, gl_seek_max_#t~mem18#1.offset, gl_seek_max_#t~ret20#1, gl_seek_max_#t~mem19#1.base, gl_seek_max_#t~mem19#1.offset, gl_seek_max_~value~0#1, gl_seek_max_~pos~0#1.base, gl_seek_max_~pos~0#1.offset, gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset, gl_seek_max_~max~0#1;havoc gl_seek_max_~pos~0#1.base, gl_seek_max_~pos~0#1.offset;gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset := 0bv32, 0bv32;havoc gl_seek_max_~max~0#1; {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,324 INFO L272 TraceCheckUtils]: 27: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} call gl_seek_max_#t~ret15#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:45:46,325 INFO L290 TraceCheckUtils]: 28: Hoare triple {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {11907#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} is VALID [2022-02-20 23:45:46,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {11907#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {11911#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#t~mem3.offset| (select (select |#memory_$Pointer$.offset| list_empty_~head.base) list_empty_~head.offset)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} is VALID [2022-02-20 23:45:46,327 INFO L290 TraceCheckUtils]: 30: Hoare triple {11911#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |list_empty_#t~mem3.offset| (select (select |#memory_$Pointer$.offset| list_empty_~head.base) list_empty_~head.offset)) (= |list_empty_#in~head.base| list_empty_~head.base) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_empty_#in~head.offset| list_empty_~head.offset))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {11915#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} is VALID [2022-02-20 23:45:46,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {11915#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} assume true; {11915#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} is VALID [2022-02-20 23:45:46,328 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11915#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (or (= |list_empty_#res| (_ bv0 32)) (and (= |list_empty_#res| (_ bv1 32)) (= |list_empty_#in~head.offset| (select (select |#memory_$Pointer$.offset| |list_empty_#in~head.base|) |list_empty_#in~head.offset|)))))} {11867#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)))} #209#return; {11922#(= |ULTIMATE.start_gl_seek_max_#t~ret15#1| (_ bv0 32))} is VALID [2022-02-20 23:45:46,328 INFO L290 TraceCheckUtils]: 33: Hoare triple {11922#(= |ULTIMATE.start_gl_seek_max_#t~ret15#1| (_ bv0 32))} assume 0bv32 != gl_seek_max_#t~ret15#1;havoc gl_seek_max_#t~ret15#1;gl_seek_max_#res#1.base, gl_seek_max_#res#1.offset := 0bv32, 0bv32; {11813#false} is VALID [2022-02-20 23:45:46,329 INFO L290 TraceCheckUtils]: 34: Hoare triple {11813#false} gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset := gl_seek_max_#res#1.base, gl_seek_max_#res#1.offset;assume { :end_inline_gl_seek_max } true;gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset := gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset; {11813#false} is VALID [2022-02-20 23:45:46,329 INFO L290 TraceCheckUtils]: 35: Hoare triple {11813#false} assume !(gl_sort_~max_pos~1#1.base != 0bv32 || gl_sort_~max_pos~1#1.offset != 0bv32);havoc gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset; {11813#false} is VALID [2022-02-20 23:45:46,329 INFO L290 TraceCheckUtils]: 36: Hoare triple {11813#false} assume !(1bv1 == #valid[gl_sort_~#dst~0#1.base]); {11813#false} is VALID [2022-02-20 23:45:46,329 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:45:46,329 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:46,329 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:46,329 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [918133671] [2022-02-20 23:45:46,329 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [918133671] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:46,329 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:46,329 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:45:46,329 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1291746443] [2022-02-20 23:45:46,329 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:46,330 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-02-20 23:45:46,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:46,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:46,369 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:45:46,369 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:45:46,369 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:46,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:45:46,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:45:46,370 INFO L87 Difference]: Start difference. First operand 141 states and 148 transitions. Second operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:48,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:48,983 INFO L93 Difference]: Finished difference Result 188 states and 200 transitions. [2022-02-20 23:45:48,983 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:45:48,983 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 37 [2022-02-20 23:45:48,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:48,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:49,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 192 transitions. [2022-02-20 23:45:49,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:49,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 192 transitions. [2022-02-20 23:45:49,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 192 transitions. [2022-02-20 23:45:49,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 192 edges. 192 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:49,202 INFO L225 Difference]: With dead ends: 188 [2022-02-20 23:45:49,202 INFO L226 Difference]: Without dead ends: 188 [2022-02-20 23:45:49,202 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:45:49,202 INFO L933 BasicCegarLoop]: 94 mSDtfsCounter, 346 mSDsluCounter, 588 mSDsCounter, 0 mSdLazyCounter, 430 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 352 SdHoareTripleChecker+Valid, 682 SdHoareTripleChecker+Invalid, 463 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 430 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:49,202 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [352 Valid, 682 Invalid, 463 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 430 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 23:45:49,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-02-20 23:45:49,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 142. [2022-02-20 23:45:49,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:49,205 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 142 states, 87 states have (on average 1.528735632183908) internal successors, (133), 127 states have internal predecessors, (133), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:49,205 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 142 states, 87 states have (on average 1.528735632183908) internal successors, (133), 127 states have internal predecessors, (133), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:49,206 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 142 states, 87 states have (on average 1.528735632183908) internal successors, (133), 127 states have internal predecessors, (133), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:49,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:49,208 INFO L93 Difference]: Finished difference Result 188 states and 200 transitions. [2022-02-20 23:45:49,208 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 200 transitions. [2022-02-20 23:45:49,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:49,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:49,208 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 87 states have (on average 1.528735632183908) internal successors, (133), 127 states have internal predecessors, (133), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 188 states. [2022-02-20 23:45:49,209 INFO L87 Difference]: Start difference. First operand has 142 states, 87 states have (on average 1.528735632183908) internal successors, (133), 127 states have internal predecessors, (133), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 188 states. [2022-02-20 23:45:49,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:49,210 INFO L93 Difference]: Finished difference Result 188 states and 200 transitions. [2022-02-20 23:45:49,211 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 200 transitions. [2022-02-20 23:45:49,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:49,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:49,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:49,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:49,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 87 states have (on average 1.528735632183908) internal successors, (133), 127 states have internal predecessors, (133), 8 states have call successors, (8), 6 states have call predecessors, (8), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 23:45:49,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 149 transitions. [2022-02-20 23:45:49,215 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 149 transitions. Word has length 37 [2022-02-20 23:45:49,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:49,215 INFO L470 AbstractCegarLoop]: Abstraction has 142 states and 149 transitions. [2022-02-20 23:45:49,215 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 10 states have internal predecessors, (31), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:49,216 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 149 transitions. [2022-02-20 23:45:49,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 23:45:49,216 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:49,216 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:49,227 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Forceful destruction successful, exit code 0 [2022-02-20 23:45:49,423 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:49,424 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting val_from_nodeErr0REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:49,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:49,424 INFO L85 PathProgramCache]: Analyzing trace with hash 456962673, now seen corresponding path program 1 times [2022-02-20 23:45:49,424 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:49,425 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [655220857] [2022-02-20 23:45:49,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:49,425 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:49,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:49,426 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:45:49,427 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Waiting until timeout for monitored process [2022-02-20 23:45:49,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:49,608 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 23:45:49,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:49,622 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:49,629 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:45:49,772 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 11 treesize of output 7 [2022-02-20 23:45:49,876 INFO L356 Elim1Store]: treesize reduction 27, result has 43.8 percent of original size [2022-02-20 23:45:49,876 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 35 [2022-02-20 23:45:49,933 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 20 treesize of output 12 [2022-02-20 23:45:49,988 INFO L290 TraceCheckUtils]: 0: Hoare triple {12650#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {12650#true} is VALID [2022-02-20 23:45:49,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {12650#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {12650#true} is VALID [2022-02-20 23:45:49,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {12650#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:49,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:49,990 INFO L290 TraceCheckUtils]: 4: Hoare triple {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:45:49,991 INFO L272 TraceCheckUtils]: 5: Hoare triple {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {12671#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|)))} is VALID [2022-02-20 23:45:49,992 INFO L290 TraceCheckUtils]: 6: Hoare triple {12671#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|)))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {12675#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:49,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {12675#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {12675#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:49,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {12675#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:49,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:49,994 INFO L290 TraceCheckUtils]: 10: Hoare triple {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:49,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:49,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {12682#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {12695#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:49,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {12695#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {12695#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:49,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {12695#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {12695#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:49,998 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12695#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv1 1) (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_11|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {12661#(= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1))} #205#return; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:49,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:49,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:49,999 INFO L290 TraceCheckUtils]: 18: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,000 INFO L272 TraceCheckUtils]: 19: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,001 INFO L290 TraceCheckUtils]: 21: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume true; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,002 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} #207#return; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume !(0bv32 != gl_sort_#t~ret21#1);havoc gl_sort_#t~ret21#1;call gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~init~$Pointer$(gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, 4bv32);call write~init~$Pointer$(gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~#dst~0#1.base, ~bvadd32(4bv32, gl_sort_~#dst~0#1.offset), 4bv32);havoc gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume { :begin_inline_gl_seek_max } true;havoc gl_seek_max_#res#1.base, gl_seek_max_#res#1.offset;havoc gl_seek_max_#t~ret15#1, gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset, gl_seek_max_#t~ret17#1, gl_seek_max_#t~mem18#1.base, gl_seek_max_#t~mem18#1.offset, gl_seek_max_#t~ret20#1, gl_seek_max_#t~mem19#1.base, gl_seek_max_#t~mem19#1.offset, gl_seek_max_~value~0#1, gl_seek_max_~pos~0#1.base, gl_seek_max_~pos~0#1.offset, gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset, gl_seek_max_~max~0#1;havoc gl_seek_max_~pos~0#1.base, gl_seek_max_~pos~0#1.offset;gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset := 0bv32, 0bv32;havoc gl_seek_max_~max~0#1; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,004 INFO L272 TraceCheckUtils]: 27: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} call gl_seek_max_#t~ret15#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,004 INFO L290 TraceCheckUtils]: 28: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,005 INFO L290 TraceCheckUtils]: 29: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume true; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,006 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} #209#return; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} assume !(0bv32 != gl_seek_max_#t~ret15#1);havoc gl_seek_max_#t~ret15#1; {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} is VALID [2022-02-20 23:45:50,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {12705#(= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)))))} SUMMARY for call gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset := read~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, 4bv32); srcloc: L599 {12763#(= (bvadd (bvneg (select |#valid| |ULTIMATE.start_gl_seek_max_#t~mem16#1.base|)) (_ bv1 1)) (_ bv0 1))} is VALID [2022-02-20 23:45:50,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {12763#(= (bvadd (bvneg (select |#valid| |ULTIMATE.start_gl_seek_max_#t~mem16#1.base|)) (_ bv1 1)) (_ bv0 1))} gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset := gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset;havoc gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset; {12767#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_gl_seek_max_~max_pos~0#1.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:45:50,008 INFO L272 TraceCheckUtils]: 36: Hoare triple {12767#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |ULTIMATE.start_gl_seek_max_~max_pos~0#1.base|)) (_ bv1 1)))} call gl_seek_max_#t~ret17#1 := val_from_node(gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset); {12771#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |val_from_node_#in~head.base|)) (_ bv1 1)))} is VALID [2022-02-20 23:45:50,009 INFO L290 TraceCheckUtils]: 37: Hoare triple {12771#(= (_ bv0 1) (bvadd (bvneg (select |#valid| |val_from_node_#in~head.base|)) (_ bv1 1)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~entry~0.base, ~entry~0.offset := ~head.base, ~bvsub32(~head.offset, 4bv32); {12775#(= (_ bv0 1) (bvadd (bvneg (select |#valid| val_from_node_~entry~0.base)) (_ bv1 1)))} is VALID [2022-02-20 23:45:50,009 INFO L290 TraceCheckUtils]: 38: Hoare triple {12775#(= (_ bv0 1) (bvadd (bvneg (select |#valid| val_from_node_~entry~0.base)) (_ bv1 1)))} assume !(1bv1 == #valid[~entry~0.base]); {12651#false} is VALID [2022-02-20 23:45:50,009 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:45:50,009 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:45:50,009 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:50,009 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [655220857] [2022-02-20 23:45:50,009 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [655220857] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:45:50,010 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:45:50,010 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:45:50,010 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [603909548] [2022-02-20 23:45:50,010 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:45:50,010 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-02-20 23:45:50,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:45:50,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:50,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:50,048 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:45:50,048 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:45:50,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:45:50,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:45:50,048 INFO L87 Difference]: Start difference. First operand 142 states and 149 transitions. Second operand has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:52,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:52,277 INFO L93 Difference]: Finished difference Result 277 states and 297 transitions. [2022-02-20 23:45:52,277 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 23:45:52,278 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 39 [2022-02-20 23:45:52,278 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:45:52,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:52,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 299 transitions. [2022-02-20 23:45:52,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:52,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 299 transitions. [2022-02-20 23:45:52,281 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 299 transitions. [2022-02-20 23:45:52,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 299 edges. 299 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:45:52,561 INFO L225 Difference]: With dead ends: 277 [2022-02-20 23:45:52,561 INFO L226 Difference]: Without dead ends: 277 [2022-02-20 23:45:52,561 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:45:52,561 INFO L933 BasicCegarLoop]: 92 mSDtfsCounter, 229 mSDsluCounter, 586 mSDsCounter, 0 mSdLazyCounter, 438 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 230 SdHoareTripleChecker+Valid, 678 SdHoareTripleChecker+Invalid, 847 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 438 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 389 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:45:52,562 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [230 Valid, 678 Invalid, 847 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 438 Invalid, 0 Unknown, 389 Unchecked, 0.6s Time] [2022-02-20 23:45:52,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 277 states. [2022-02-20 23:45:52,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 277 to 164. [2022-02-20 23:45:52,565 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:45:52,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 277 states. Second operand has 164 states, 105 states have (on average 1.5142857142857142) internal successors, (159), 145 states have internal predecessors, (159), 10 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:45:52,565 INFO L74 IsIncluded]: Start isIncluded. First operand 277 states. Second operand has 164 states, 105 states have (on average 1.5142857142857142) internal successors, (159), 145 states have internal predecessors, (159), 10 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:45:52,565 INFO L87 Difference]: Start difference. First operand 277 states. Second operand has 164 states, 105 states have (on average 1.5142857142857142) internal successors, (159), 145 states have internal predecessors, (159), 10 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:45:52,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:52,569 INFO L93 Difference]: Finished difference Result 277 states and 297 transitions. [2022-02-20 23:45:52,569 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 297 transitions. [2022-02-20 23:45:52,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:52,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:52,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 164 states, 105 states have (on average 1.5142857142857142) internal successors, (159), 145 states have internal predecessors, (159), 10 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 277 states. [2022-02-20 23:45:52,577 INFO L87 Difference]: Start difference. First operand has 164 states, 105 states have (on average 1.5142857142857142) internal successors, (159), 145 states have internal predecessors, (159), 10 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 277 states. [2022-02-20 23:45:52,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:45:52,581 INFO L93 Difference]: Finished difference Result 277 states and 297 transitions. [2022-02-20 23:45:52,581 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 297 transitions. [2022-02-20 23:45:52,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:45:52,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:45:52,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:45:52,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:45:52,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 164 states, 105 states have (on average 1.5142857142857142) internal successors, (159), 145 states have internal predecessors, (159), 10 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 23:45:52,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 179 transitions. [2022-02-20 23:45:52,584 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 179 transitions. Word has length 39 [2022-02-20 23:45:52,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:45:52,585 INFO L470 AbstractCegarLoop]: Abstraction has 164 states and 179 transitions. [2022-02-20 23:45:52,585 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.8) internal successors, (28), 10 states have internal predecessors, (28), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:45:52,585 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 179 transitions. [2022-02-20 23:45:52,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 23:45:52,585 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:45:52,585 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:45:52,593 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Forceful destruction successful, exit code 0 [2022-02-20 23:45:52,793 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:45:52,793 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting val_from_nodeErr1REQUIRES_VIOLATION === [val_from_nodeErr0REQUIRES_VIOLATION, val_from_nodeErr1REQUIRES_VIOLATION, list_emptyErr0REQUIRES_VIOLATION, list_emptyErr1REQUIRES_VIOLATION (and 52 more)] === [2022-02-20 23:45:52,794 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:45:52,794 INFO L85 PathProgramCache]: Analyzing trace with hash 456962674, now seen corresponding path program 1 times [2022-02-20 23:45:52,794 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:45:52,794 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [862308145] [2022-02-20 23:45:52,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:52,795 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:45:52,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:45:52,796 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:45:52,797 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Waiting until timeout for monitored process [2022-02-20 23:45:52,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:52,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 23:45:52,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:52,977 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:52,990 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:45:52,995 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:45:53,223 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 11 treesize of output 7 [2022-02-20 23:45:53,227 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 11 treesize of output 7 [2022-02-20 23:45:53,447 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:45:53,447 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 16 treesize of output 18 [2022-02-20 23:45:53,455 INFO L356 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2022-02-20 23:45:53,455 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:45:53,529 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:45:53,532 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:45:53,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {13785#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {13785#true} is VALID [2022-02-20 23:45:53,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {13785#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {13785#true} is VALID [2022-02-20 23:45:53,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {13785#true} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,639 INFO L272 TraceCheckUtils]: 5: Hoare triple {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {13806#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32))))} is VALID [2022-02-20 23:45:53,639 INFO L290 TraceCheckUtils]: 6: Hoare triple {13806#(exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32))))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {13810#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:53,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {13810#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {13810#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:45:53,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {13810#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:53,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:53,642 INFO L290 TraceCheckUtils]: 10: Hoare triple {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:53,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:45:53,644 INFO L290 TraceCheckUtils]: 12: Hoare triple {13817#(and (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {13830#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:53,645 INFO L290 TraceCheckUtils]: 13: Hoare triple {13830#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {13830#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:53,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {13830#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {13830#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:45:53,646 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13830#(and (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12| (_ BitVec 32))) (and (= (select |#valid| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv1 1)) (= (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_12|) (_ bv12 32)))) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {13796#(and (= (select |#valid| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)))} #205#return; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,647 INFO L290 TraceCheckUtils]: 16: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,648 INFO L290 TraceCheckUtils]: 18: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,648 INFO L272 TraceCheckUtils]: 19: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,649 INFO L290 TraceCheckUtils]: 20: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,649 INFO L290 TraceCheckUtils]: 21: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,650 INFO L290 TraceCheckUtils]: 23: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume true; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,651 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} #207#return; {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} is VALID [2022-02-20 23:45:53,652 INFO L290 TraceCheckUtils]: 25: Hoare triple {13840#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv0 1) (bvadd (_ bv1 1) (bvneg (select |#valid| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|))))))} assume !(0bv32 != gl_sort_#t~ret21#1);havoc gl_sort_#t~ret21#1;call gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset := #Ultimate.allocOnStack(8bv32);call write~init~$Pointer$(gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, 4bv32);call write~init~$Pointer$(gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~#dst~0#1.base, ~bvadd32(4bv32, gl_sort_~#dst~0#1.offset), 4bv32);havoc gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} assume { :begin_inline_gl_seek_max } true;havoc gl_seek_max_#res#1.base, gl_seek_max_#res#1.offset;havoc gl_seek_max_#t~ret15#1, gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset, gl_seek_max_#t~ret17#1, gl_seek_max_#t~mem18#1.base, gl_seek_max_#t~mem18#1.offset, gl_seek_max_#t~ret20#1, gl_seek_max_#t~mem19#1.base, gl_seek_max_#t~mem19#1.offset, gl_seek_max_~value~0#1, gl_seek_max_~pos~0#1.base, gl_seek_max_~pos~0#1.offset, gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset, gl_seek_max_~max~0#1;havoc gl_seek_max_~pos~0#1.base, gl_seek_max_~pos~0#1.offset;gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset := 0bv32, 0bv32;havoc gl_seek_max_~max~0#1; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,653 INFO L272 TraceCheckUtils]: 27: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} call gl_seek_max_#t~ret15#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,654 INFO L290 TraceCheckUtils]: 28: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} assume true; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,656 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} #209#return; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,656 INFO L290 TraceCheckUtils]: 33: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} assume !(0bv32 != gl_seek_max_#t~ret15#1);havoc gl_seek_max_#t~ret15#1; {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:45:53,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {13871#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)))} SUMMARY for call gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset := read~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, 4bv32); srcloc: L599 {13899#(and (= (select |#length| |ULTIMATE.start_gl_seek_max_#t~mem16#1.base|) (_ bv12 32)) (= (_ bv4 32) |ULTIMATE.start_gl_seek_max_#t~mem16#1.offset|))} is VALID [2022-02-20 23:45:53,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {13899#(and (= (select |#length| |ULTIMATE.start_gl_seek_max_#t~mem16#1.base|) (_ bv12 32)) (= (_ bv4 32) |ULTIMATE.start_gl_seek_max_#t~mem16#1.offset|))} gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset := gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset;havoc gl_seek_max_#t~mem16#1.base, gl_seek_max_#t~mem16#1.offset; {13903#(and (= (select |#length| |ULTIMATE.start_gl_seek_max_~max_pos~0#1.base|) (_ bv12 32)) (= (_ bv4 32) |ULTIMATE.start_gl_seek_max_~max_pos~0#1.offset|))} is VALID [2022-02-20 23:45:53,657 INFO L272 TraceCheckUtils]: 36: Hoare triple {13903#(and (= (select |#length| |ULTIMATE.start_gl_seek_max_~max_pos~0#1.base|) (_ bv12 32)) (= (_ bv4 32) |ULTIMATE.start_gl_seek_max_~max_pos~0#1.offset|))} call gl_seek_max_#t~ret17#1 := val_from_node(gl_seek_max_~max_pos~0#1.base, gl_seek_max_~max_pos~0#1.offset); {13907#(and (= (select |#length| |val_from_node_#in~head.base|) (_ bv12 32)) (= (_ bv4 32) |val_from_node_#in~head.offset|))} is VALID [2022-02-20 23:45:53,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {13907#(and (= (select |#length| |val_from_node_#in~head.base|) (_ bv12 32)) (= (_ bv4 32) |val_from_node_#in~head.offset|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~entry~0.base, ~entry~0.offset := ~head.base, ~bvsub32(~head.offset, 4bv32); {13911#(and (= (select |#length| val_from_node_~entry~0.base) (_ bv12 32)) (= (_ bv4 32) (bvadd (_ bv4 32) val_from_node_~entry~0.offset)))} is VALID [2022-02-20 23:45:53,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {13911#(and (= (select |#length| val_from_node_~entry~0.base) (_ bv12 32)) (= (_ bv4 32) (bvadd (_ bv4 32) val_from_node_~entry~0.offset)))} assume !((~bvule32(~bvadd32(4bv32, ~entry~0.offset), #length[~entry~0.base]) && ~bvule32(~entry~0.offset, ~bvadd32(4bv32, ~entry~0.offset))) && ~bvule32(0bv32, ~entry~0.offset)); {13786#false} is VALID [2022-02-20 23:45:53,659 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:45:53,659 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:45:57,943 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:45:57,944 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [862308145] [2022-02-20 23:45:57,944 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [862308145] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:45:57,944 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [50059613] [2022-02-20 23:45:57,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:45:57,944 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:45:57,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:45:57,945 INFO L229 MonitoredProcess]: Starting monitored process 23 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:45:57,946 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (23)] Waiting until timeout for monitored process [2022-02-20 23:45:58,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:58,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 45 conjunts are in the unsatisfiable core [2022-02-20 23:45:58,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:45:58,295 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:45:58,305 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 9 treesize of output 3 [2022-02-20 23:45:58,362 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:45:58,940 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 11 treesize of output 7 [2022-02-20 23:45:58,948 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 11 treesize of output 7 [2022-02-20 23:45:59,388 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:45:59,389 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 16 treesize of output 18 [2022-02-20 23:45:59,884 INFO L356 Elim1Store]: treesize reduction 3, result has 75.0 percent of original size [2022-02-20 23:45:59,884 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 31 treesize of output 24 [2022-02-20 23:45:59,914 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:46:00,270 INFO L290 TraceCheckUtils]: 0: Hoare triple {13785#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(12bv32, 2bv32);~#gl_list~0.base, ~#gl_list~0.offset := 3bv32, 0bv32;call #Ultimate.allocInit(8bv32, 3bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~#gl_list~0.offset, 4bv32);call write~init~$Pointer$(~#gl_list~0.base, ~#gl_list~0.offset, ~#gl_list~0.base, ~bvadd32(4bv32, ~#gl_list~0.offset), 4bv32); {13966#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {13966#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;assume { :begin_inline_gl_read } true;havoc gl_read_#t~nondet11#1, gl_read_#t~nondet10#1; {13966#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {13966#(and (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :begin_inline_gl_insert } true;gl_insert_#in~value#1 := gl_read_#t~nondet11#1;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset, gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset;gl_insert_~value#1 := gl_insert_#in~value#1;call gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset := #Ultimate.allocOnHeap(12bv32);gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset := gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset;havoc gl_insert_#t~malloc9#1.base, gl_insert_#t~malloc9#1.offset; {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:46:00,272 INFO L290 TraceCheckUtils]: 3: Hoare triple {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} assume !(gl_insert_~node~0#1.base == 0bv32 && gl_insert_~node~0#1.offset == 0bv32); {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:46:00,273 INFO L290 TraceCheckUtils]: 4: Hoare triple {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} SUMMARY for call write~intINTTYPE4(gl_insert_~value#1, gl_insert_~node~0#1.base, gl_insert_~node~0#1.offset, 4bv32); srcloc: L568-2 {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:46:00,275 INFO L272 TraceCheckUtils]: 5: Hoare triple {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} call list_add(gl_insert_~node~0#1.base, ~bvadd32(4bv32, gl_insert_~node~0#1.offset), ~#gl_list~0.base, ~#gl_list~0.offset); {13983#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,275 INFO L290 TraceCheckUtils]: 6: Hoare triple {13983#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|))} ~new#1.base, ~new#1.offset := #in~new#1.base, #in~new#1.offset;~head#1.base, ~head#1.offset := #in~head#1.base, #in~head#1.offset; {13987#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:46:00,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {13987#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} SUMMARY for call #t~mem4#1.base, #t~mem4#1.offset := read~$Pointer$(~head#1.base, ~head#1.offset, 4bv32); srcloc: L547 {13987#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} is VALID [2022-02-20 23:46:00,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {13987#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_~head#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_~new#1.offset| |list_add_#in~new#1.offset|) (= |list_add_#in~head#1.base| |list_add_~head#1.base|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.base| |list_add_~new#1.base|))} assume { :begin_inline___list_add } true;__list_add_#in~new#1.base, __list_add_#in~new#1.offset, __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset, __list_add_#in~next#1.base, __list_add_#in~next#1.offset := ~new#1.base, ~new#1.offset, ~head#1.base, ~head#1.offset, #t~mem4#1.base, #t~mem4#1.offset;havoc __list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~next#1.base, __list_add_~next#1.offset;__list_add_~new#1.base, __list_add_~new#1.offset := __list_add_#in~new#1.base, __list_add_#in~new#1.offset;__list_add_~prev#1.base, __list_add_~prev#1.offset := __list_add_#in~prev#1.base, __list_add_#in~prev#1.offset;__list_add_~next#1.base, __list_add_~next#1.offset := __list_add_#in~next#1.base, __list_add_#in~next#1.offset; {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:46:00,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~next#1.base, ~bvadd32(4bv32, __list_add_~next#1.offset), 4bv32); srcloc: L535 {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:46:00,278 INFO L290 TraceCheckUtils]: 10: Hoare triple {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~next#1.base, __list_add_~next#1.offset, __list_add_~new#1.base, __list_add_~new#1.offset, 4bv32); srcloc: L535-1 {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:46:00,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~prev#1.base, __list_add_~prev#1.offset, __list_add_~new#1.base, ~bvadd32(4bv32, __list_add_~new#1.offset), 4bv32); srcloc: L536 {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} is VALID [2022-02-20 23:46:00,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {13994#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~head#1.base| |list_add___list_add_~prev#1.base|) (= |list_add___list_add_~prev#1.offset| |list_add_#in~head#1.offset|) (= |~#gl_list~0.offset| (_ bv0 32)) (= |list_add_#in~new#1.offset| |list_add___list_add_~new#1.offset|) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add___list_add_~new#1.base| |list_add_#in~new#1.base|))} SUMMARY for call write~$Pointer$(__list_add_~new#1.base, __list_add_~new#1.offset, __list_add_~prev#1.base, __list_add_~prev#1.offset, 4bv32); srcloc: L537 {14007#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:46:00,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {14007#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume { :end_inline___list_add } true;havoc #t~mem4#1.base, #t~mem4#1.offset; {14007#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:46:00,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {14007#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} assume true; {14007#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} is VALID [2022-02-20 23:46:00,283 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14007#(and (exists ((|v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| (_ BitVec 32))) (and (= (_ bv12 32) (select |#length| |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13|)) (bvult |v_ULTIMATE.start_gl_insert_~node~0#1.base_BEFORE_CALL_13| |#StackHeapBarrier|))) (= |list_add_#in~new#1.base| (select (select |#memory_$Pointer$.base| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (= |list_add_#in~new#1.offset| (select (select |#memory_$Pointer$.offset| |list_add_#in~head#1.base|) |list_add_#in~head#1.offset|)))} {13973#(and (= |ULTIMATE.start_gl_insert_~node~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_gl_insert_~node~0#1.base|) (_ bv12 32)) (= |~#gl_list~0.offset| (_ bv0 32)) (= (_ bv3 32) |~#gl_list~0.base|) (bvult |ULTIMATE.start_gl_insert_~node~0#1.base| |#StackHeapBarrier|))} #205#return; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,283 INFO L290 TraceCheckUtils]: 16: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_gl_insert } true;havoc gl_read_#t~nondet11#1; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume !(0bv32 != gl_read_#t~nondet10#1);havoc gl_read_#t~nondet10#1; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume { :end_inline_gl_read } true;assume { :begin_inline_gl_sort } true;havoc gl_sort_#t~ret21#1, gl_sort_#t~ret22#1.base, gl_sort_#t~ret22#1.offset, gl_sort_#t~mem23#1.base, gl_sort_#t~mem23#1.offset, gl_sort_#t~mem24#1.base, gl_sort_#t~mem24#1.offset, gl_sort_#t~mem25#1.base, gl_sort_#t~mem25#1.offset, gl_sort_#t~mem26#1.base, gl_sort_#t~mem26#1.offset, gl_sort_~#dst~0#1.base, gl_sort_~#dst~0#1.offset, gl_sort_~max_pos~1#1.base, gl_sort_~max_pos~1#1.offset; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,285 INFO L272 TraceCheckUtils]: 19: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} call gl_sort_#t~ret21#1 := list_empty(~#gl_list~0.base, ~#gl_list~0.offset); {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,286 INFO L290 TraceCheckUtils]: 21: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} SUMMARY for call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~head.base, ~head.offset, 4bv32); srcloc: L529 {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} #res := (if #t~mem3.base == ~head.base && #t~mem3.offset == ~head.offset then 1bv32 else 0bv32);havoc #t~mem3.base, #t~mem3.offset; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,287 INFO L290 TraceCheckUtils]: 23: Hoare triple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} assume true; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID [2022-02-20 23:46:00,287 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} #207#return; {14017#(and (= (_ bv4 32) (select (select |#memory_$Pointer$.offset| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (bvult (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|) |#StackHeapBarrier|) (= |~#gl_list~0.offset| (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |~#gl_list~0.base|) |~#gl_list~0.offset|)) (_ bv12 32)) (= (_ bv3 32) |~#gl_list~0.base|))} is VALID